自我总结
总结0 引言
做为开发者有一段时间了,是时候总结一下目前自己的一些技术现状了。
当然总结少不了数据的支持,想来想去,把自己提交代码的次数拿来分析一下,看看现况。
这次数据来源有三个部分:
[*]第一个部分是 github
[*]第二部分是 oschina
[*]第三部分是公司内部平台 gitlab
数据来源的时间区间:2013年12月到2017年6月,为什么是 2013年12月?因为 github 上第一次提交代码的时间就是: 2013年12月27日。结束时间是 2017年6月17日 也就是现在。
需要说明的情况是: oschina 在 2015年7月15日 才开始使用。 而 gitlab 是在入职公司后使用,也就是 2016年6月1日 使用。
时间计算的基本单位是: 月, 这样的话从数据来源时间区间算起 ,共 5 年, 1 + 12 + 12 + 12 + 6 = 43 月。
1 分析
先给一张总体的情况表:
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617105003431-1000060332.png
从表中可以看出:总共 3944 次提交,从平台来看: oschina 最多,github 和 gitlab 持平;从时间来看:2016 年最多,2013 年最少,其他是持平的。
再来看看平均数:每年提交 788 次,每月提交 92 次,每天提交 3次。
再来看看几张图:
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111408853-1133917068.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111432275-785361187.png
可以看出,2016 年和 2017 年这一年半是比较忙的,总共提交了 2751 次,占比 65%,现实的情况也是这样,确实比较忙。
从提交的次数来看:如果每次提交修改 50 行代码的话,差不多,自己经手了 15 万行的代码,如果每次修改新增 10 代码的话,自己也手写了 4 万行的代码了。这意味着什么,后面总结的时候再说说。
再从 github 上别的数据来看看:
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617113036275-438599164.png
自己名下的库有 166 个,包括 fork 的库:113, 自己的 53 个
最多加星的库是:Leaflet.ChineseTmsProviders ,共 123 个星,fork 了 45 次
自己 start 将近 4K 的库,算是一个收藏控吧
followers 有 75 人,不知道是什么人
自己也 following 了别人: 436,都是些著名的开发者
2 总结
都说手写 10 万行代码,才算是真正进入开发的行业。我看看自已的情况,还是有差距的。
不过现在 4 万行代码,让我进入了行业,这都只是低质量的代码,后面的代码应该在更高的程度上要求自已。
从哪些方面要求自己呢?
首先我认为可以从代码的控制力来改善,差不多就是指代码的结构设计,听过一个说法:
超过 1000 行代码 面向过程就把控不了,代码就走向了混乱;此时,应该引人面向对象,来解决问题,而面向对象,在超过 10 万行的代码就把控不了;此时就应该是函数式编程来解决问题,更大的项目就不知道了,这就是控制复杂度,用不同的方案面对数量变多的方案
目前自己的代码控制力,在 1000 行左右,整体思绪面向过程的多点, 面向对象就很难设计出让别人用的爽的抽象, 这要经过有意识代码的训练和项目的机遇才可以,更高就更困难点。
3 数据出处
3.1 github
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111544806-1099727786.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111549837-1904824703.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111558540-1598545263.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111603384-1266943188.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111616790-1815228729.png
3.2 oschina
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111627243-1652523067.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111631821-159895568.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111636337-719364555.png
3.3 gitlab
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111642650-907905279.png
https://images2015.cnblogs.com/blog/501306/201706/501306-20170617111649290-557209782.png
页:
[1]