爱莉莎学区块链投资系列编程语言快速入门每天写1000字

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

2018-06-13  本文已影响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.投资者需要关注哪五点?

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. 小结:检查五项

希望对大家有用。

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

转载时请务必注明作者。

上一篇下一篇

猜你喜欢

热点阅读