美文网首页爱莉莎学区块链投资系列编程语言快速入门每天写1000字
如何使用github这面区块链项目”照妖镜“?程序员来告诉你!

如何使用github这面区块链项目”照妖镜“?程序员来告诉你!

作者: 竹三七 | 来源:发表于2018-06-13 23:16 被阅读1次
    image

    本文由“币嗨Bihi内容合伙人计划”赞助

    Github,不仅仅程序员需要关注,作为一名区块链投资者,本着对自己的钱负责的原则,你也需要了解一些开源软件开发的基本常识。

    你可能会说,哎,爱莉莎,那些技术问题我搞不懂啦!

    没关系,今天爱莉莎提炼出五大点,能让你比较轻松地评估这个软件项目的活跃度和质量。

    能轻松过滤一些垃圾项目,嗯哈!让那些捣糨糊的妖怪们现出原形。

    1. 插入基本概念

    什么是Git?

    Git是一个免费、开源、分散式版本控制软件,由Linux内核之父——Linus创作。最初的目的是为了管理Linux内核开发。

    简单说,Git软件,就像哆啦A梦的时光机一样,是程序员的时光机。

    偶们程序员通过Git,可以轻易保存、备份、回滚、合并......代码。删除的代码,只要提交过,都能找回来哦!

    偶们程序员通过Git,可以轻松找到这行代码是谁写的,这个Bug是谁造的,这个锅该谁来背!

    总之,程序员通过Git,可以穿梭到任何代码版本,可以在代码的时间海洋里,任意遨游。

    Git软件,被很多开源项目所使用,可以在本地、远端使用。

    什么是GitHub?

    Github是一个网站,由GitHub公司开发,用Ruby on Rails编写。

    Github通过Git进行源代码版本控制,提供软件源代码托管服务,同时提供付费账户(可以私密,未被授权的用户不可见源代码)和免费账户。

    Github是最流行的Git存取站点,用户能非常方便的追踪软件库的动态,可以对软件代码改动、及bug(程序错误)提出评论。

    2018年6月4日晚上,微软宣布以75亿美元的股票收购GitHub。祈祷微软不要把Github搞砸,双手合十。

    image

    2.投资者需要关注哪五点?

    • 代码提交

    • 贡献者、关注者、收藏者

    • 问题数量

    • 统计数据

    • 是否是Fork代码

    2.1 代码提交

    代码提交,代表了代码的更新频率和质量。

    比如,我们打开 https://github.com/EOSIO/eos

    可以看到,爱莉莎写文章的这一刻,EOS 已经有 7704次提交。

    image

    点击commit,可以看到提交历史。

    这里,我们可以看到代码更新的最近时间。可以看到最近的一次在今天:12小时前。

    image

    每次提交包含以下信息:

    1. 编号

    2. 作者

    3. 提交/更新时间

    4. 提交内容:是合并?还是添加了新功能?还是解决了某个Bug(程序问题)?

    代码所有的更改历史,都可以在提交中发现。我们主要看 master(主分支)提交历史。一般,程序员在其它分支提交代码,然后发出 pull request申请, 项目主程(主要程序员)审核后,才会合并到代码主分支(master分支)。

    爱莉莎搜了搜360报的史诗级bug,看看有没有在代码提交历史里提到,目前没搜到。

    我们在提交历史里,可以看到:

    1. 完成了哪些功能?

    2. 解决了哪些问题?

    3. 最重要的是,代码更新是否频繁,最近一次修改是什么时候?一般来说,最后一次提交时间,离现在越近越好,提交历史越连续越好。

    可以看到EOS主分支代码,12小时前才更新,项目代码迭代速度可以说是非常快了。

    文末,我会举一个反面例子。

    2.2 贡献者,关注者和收藏者

    image

    先说关注(Watch)和收藏(Star)

    关注(Watch),代表有多少程序员关注了该项目,当项目更新时,程序员们会收到邮件通知。

    收藏(Star),代表有多少程序员收藏了该项目,方便他们参考代码。

    关注数和收藏数,代表了程序员们对该项目的认可和项目热度。BTC有3万多收藏。EOS作为一个一年多的新项目,有8000多的收藏,可以说很不错了。

    贡献者,代表了项目开发人员数量,数量多,一定程度上代表这个项目是个大型,多人团队协作开发。

    点击Contributors(贡献者),可以看到 EOS的贡献者的信息。我们可以看到,从项目开始到现在:

    Heifner大神,提交了538次,排第一。

    BM大神,提交了468次,排第二。

    image

    点击Heifner大神头像,可以看到Heifner大神,最近9天都在频繁更新代码。EOS项目为了主网正式上线,忙得热火朝天,周日无休,大神辛苦了。

    image

    2.3 存在问题

    点击“Issues”(问题),可以看到项目当前存在的问题。

    Open 代表还没解决的问题。

    Closed代表已经解决的问题。

    image

    可以看到,EOS目前已经解决的问题数量,是未解决问题的大约3倍,数据比较健康。

    如果,观察了一段时间,比如半个月,发现未解决问题数量,远远大于已解决问题数量,那么代表该项目:

    1. 问题比较多

    2. 程序员解决问题速度,远远小于发现问题的速度

    1. 如果数目为0,可能项目无人用,无人维护

    当然,不排除一些不良项目,有了问题不报。

    2.4 Insights 洞察统计

    点击Insights,可以看到统计信息。

    比如EOS,在过去一周,有13个程序员,提交了80次代码到主要分支,主分支中的70个文件进行了更改,其中添加了1951个新文件,删除了796个文件。

    image

    表现了EOS项目,代码正在快速迭代中,项目正在热火朝天的向前推进。

    2.5. 是否是Fork代码 ?

    Fork——字面意思”叉“,就是把整个项目源代码,复制到自己的代码仓中。

    当然,如果你Fork了Bitcoin(比特币),只会复制源代码,不会复制交易信息。

    最后这面照妖镜——Fork,我们可以明辨真假李鬼。

    被Fork得最多的区块链项目,当然是——Bitcoin啦。

    这里是Bitcoin的源代码本尊:

    image

    我们来看看这个项目:——chaincoin:https://github.com/chaincoin/chaincoin

    项目下方,小小的写着:forked form bitcoin/bitcoin, 表示项目源码复制于比特币代码仓。

    image

    Fork复制不是错,但是如果整个项目从明星项目复制后,自己什么都没有做,那么这种项目就要打个大大的红叉,碰不得。根本没有开发,项目没进展啊!

    当当当,反面教材来了。

    我们一项项对比:

    2.5.1. 检查——代码提交:

    虽然,chaincoin的最后一次提交是13天前,勉强过关。

    但是倒数第二次提交,居然是三年前,2015年10月15,这是什么鬼?项目没人写代码?没有bug?没人用?

    不合格!叉!

    image

    2.5.2. 检查——提交者信息:

    先看Bitcoin的:

    image

    再看 chaincoin的:

    image

    第一,从2015年10月后,就没有贡献者更新代码了。

    第二,贡献者,通过对比,发现就是bitcoin本尊的贡献者,可以说本项目的贡献者很少,改动也少得可怜了。

    不合格!叉!

    2.5.3. 检查——问题数量

    issues 数目居然是0。

    只要代码有人使用,只要在运行。程序的bug一般会野火烧不尽,春风吹又生。如果为0,代表项目可能无人用无人维护!

    不合格。叉!

    image

    2.5.4. 洞察统计:

    最后的统计,也印证了这一点,这个项目基本无人问津了。

    最近一周,无提交,无问题。不合格,叉!

    image

    看看人家莱特币,虽然也是Fork的比特币,但是代码一直在提交更新的。https://github.com/litecoin-project/litecoin/commits/master

    3. 小结:检查五项

    • 代码提交:最后提交时间,离现在越近越好,提交历史越连续越好。

    • 贡献者、关注者、收藏者:三个数据量越大越好。

    • 问题数量:如果为0,代表项目可能无人用无人维护!不为0,问题已解决数量,大于未解决数量较好。

    • 统计数据:看看最近一周代码提交数目有多少,代表了代码迭代速度。

    • 是否Fork?如果是Fork,一定要小心确认,是否本项目自己没有做任何更改,如果是,那么不合格。

    希望对大家有用。

    个人转载至朋友圈和群聊天,无需特别申请版权许可。

    转载时请务必注明作者。

    相关文章

      网友评论

        本文标题:如何使用github这面区块链项目”照妖镜“?程序员来告诉你!

        本文链接:https://www.haomeiwen.com/subject/niaseftx.html