知乎作者:周萌萌
刚好在Quora上看到一个类似的问题,「如何在三年之内成长为顶级Codr?」
排名第一的答案是一幅发(nao)人(dong)深(da)省(kai)的漫画,分享给题主:
楼主简单翻译如下:
Days1-10自学变量、常量、数组、字符串、公式、申明、函数...…
Days11-21自学流程、指针、引用、类、对象、继承、多态...…
Days22-做大量的娱乐性编程。在hacking中寻找乐趣,但一定要记住从失败中学到经验。
Days-和其他程序员交流,共同完成项目,向他们学习。
Days-自学高级理论物理学,以及量子力学。
Days-自学生物化学、分子生物学、遗传学...…
Days用生物学知识做一瓶返老还童药水。
Days用物理学知识建造一个通量电容器,回到第21天。
Days21杀死以前的你,取而代之。
(文末)在我看来,这是最简单的方式完成「21天学会C++」。
—————————————————————————————————————
哈哈,看完了这个神奇的漫画,是不是,脑!洞!大!开!
但是如果你笑笑就算了,那就真是Tooyoung,toosimpl,somtimstoonaiv.
因为,用三年时间成长为顶级Codr是有可能的。
不信?排名第二的答案是酱紫说的,
快速成为顶级Codr,你需要的是「自律」和「坚持」。
请注意,我们说的是「Codr」,而不是「Programmr」或「SoftwarEnginr」。
对于Codr,我们是有客观评价标准的,那就是参加「编程比赛」。
楼主研究了一下所谓的「编程比赛」或「算法大赛」:
除了国内的各种程序设计大赛,如百度之星、有道难题,更推荐参加国外的编程比赛网站,如「topcodr」、「codforcs」。这些网站上每个月都有比赛,只要你有一台能上网的电脑就可以免费参加,和全球的Codr竞争,赢得了比赛还有美金拿哦。
简单来说,你至少需要做到以下几点:
进入topCodr的练习室,每天花4-6个小时练习编程。
制定一个计划,比如:每天解决10个初级问题,每周搞定3个中级问题、1个高级问题。
如果在某个问题上困住了,马上去论坛求助。要知道,问问题体现了你的思维逻辑,问出好问题也是需要练习的。试着每周在问答网站stackovrflow上问一个问题吧!
不要闭门造车,把你的代码展示给别人看,他们提出的意见会让你事半功倍,推荐免费网站codrrviw。
学会看别人的代码,看代码其实比自己写代码更难,但是高手是可以轻易调用别人的代码的,推荐github,可以轻松地找到海量的开源代码。
建议采取一些外部的措施克服拖延症,比如开通一个博客、或微博,每天在上面记下你今天做过的一件重要的事情,保证每天晚上都带着巨大的满足感入睡。
如果坚持做到以上这些,你完全成为一名顶级Codr。
需要注意的是,编程比赛