在许多计算机专业的学生眼里,CS有三宝,StackOverflow,Google 和 GitHub,如果说前两者,在实在不想看英语时,还可以用“csdn等中文技术论坛”、“百度”来暂时代替一下,以解燃眉之急...
那么GitHub的地位,可谓是十分超然,至少目前,我好像还没听说过和GitHub类似的中文网站。不过也许以后会有呢?~也许本来是有,但是只是我孤陋寡闻而已呢? T^T
而且,目前一些教学理念比较先进的学校,例如中山大学,已经采用了用GitHub提交作业,并且用GitHub衡量小组贡献率的做法了。
{
可见 国内的本科 CS 教学和国外相比有什么优劣?这个问题下,张秋怡的回答,我摘取部分:
12. 多门课程要求 GitHub 提交作业/大作业用 GitHub 表明小组成员贡献率。
//这个回答很值得一看,引用评论区一句话就是:
看完了想复读,一比感觉我们学校就是幼儿园水平。
不过其实也不必这么丧了,我看完以后,倒是觉得,如果分解成一个个小问题,其实也不是完全没有弥补的可能的
至于怎么一一弥补,我也写了一篇博文,可直接点击下面的链接:
---------------------------------------------分割线---------------------------------------------
前面讲了一堆有的没的,现在才是真正进入正题。
下面来谈谈我是怎么用GitHub的,才疏学浅,就只是我自己使用的方法罢了...如果不妥之处,欢迎批评指正
说来惭愧,大一时就听说过GitHub,但由于后来,自己选定的大学方向是主攻ACM,而ACM的代码,又不太适合如同项目代码一样放到GitHub上(ACM的代码风格确实不怎么好,毕竟大家都想着尽快AC掉题目,这个是事实,我承认)...
所以,GitHub对我的用途,就变成了,选择 Follow 的对象,来学习别人的项目代码...
毕竟,在大师 Peter Norvig 的 Teach Yourself Programming in Ten Years (链接,可直接点击)里,不是有这么一句话吗?
Talk with other programmers; read other programs. This is more important than any book or training course.
所以,哪怕自己不写项目型的代码,看看别人优秀的代码是怎么写的,尽量去靠近他们的代码风格和组织形式,也是一件很有意义的事情
我怎么选择 Follow 谁?
(这个我是有特意想过的,毕竟,如果看了组织混乱、写法不好的代码,效果可能还不如不看呢!~不过这只是我的方法,不一定适合所有人)
1. 如果有时候,你看到一篇你觉得写得很专业很细致的博客,你可以到首页看看,博主有没有留下自己的github链接,如果有,那么你就可以follow他,并且,一般如果你认可他的文章,你也可以选择试着follow他follow的人…
因为,我一般是觉得,我觉得比较靠谱的人,我愿意相信他follow的人,也是相对比较靠谱的
比如,凭着这个原则,我follow了这个博客的博主的github
2. 在我去找这个博主follow的人的过程中,我发现了一个有个人的title里有伯克利大学(这不是计算机四大神校之一吗?当时赶紧一起follow了)
但是这不是我的重点,在这条里,我想强调的重点是,有时候如果你找到了一个学校的某个人的github,这时候就比较有意思了,存在一种可能,一个github是能串联起一个关系网的。
也就是说,你可以从他的 follower 和 follow他的人里,找到一些疑似和他同校的人,于是你就多了一群可以看他们代码的人,自己的代码敲累了时,可以时不时看看他们在写什么有趣的代码了,啊哈哈哈哈!~
3. 还有,有时候如果想找大牛的代码,有些比较简单粗暴的方法,比如这种:
不过,这种方法往往是有个弊端的,就是,大牛的成长曲线,往往和我们已经有了较大的不同。比如说,可能我们现在水平不是很高,但是大牛写的代码很专业,用了很多我们看不懂的用法,等等等等(再比如,自从我知道轮子哥有个博客以后,有时会去看看他的博客,我发现,除了他推荐书的博文,其他的博文,好像往往都是我看不懂的,真是个令人难过的故事 T^T)
当然,这个如果慢慢啃,肯定还是有能看懂的一天。只是我觉得,如果这种情况下,我个人还是更愿意看专业的那些经典书的。
至于,怎么判断代码风格的好坏之类的,我觉得见仁见智。而且,我现在也只是刚入门,哪怕是粗浅的建议,我也提供不了…不过,日后如果有小小的心得,我再写到博客里吧!~
有可能会不定期更新,注意咯,只是有可能!~
本文到此结束---------------------------------171022