【今日荐文】三十五年经验分享:程序员进阶八法

来源:互联网 发布:c语言中switch 编辑:程序博客网 时间:2024/05/04 01:32

如果你的目标仅仅是提高自己,那么很容易实现,但是如果你的目标是成为一个伟大的程序员,那么这就不简单了。

很多人都愿意说,我想变得更好,但是更好是什么却很模糊,而且人们也不知道该怎么样去做。

时间到了,提高你的编程技能,认真+严肃,走起!

我在这里分享八法来帮助你顺利提高你的编程技能。这些小智慧来自三十年深耕该领域,许多都令你再熟悉不过了,你可能早就认知了它们。

1、要记得你并非无所不知

在你前进的路上,有一只巨大的拦路虎,它的名字叫做“我无所不知”。那些计算机学科毕业的大学生们以及有经验的程序员都好犯这样的毛病。

实际上,这是一个陷阱,掉进去就很难爬上来。但是,你仍然要克服它。只有机器人才愿意认为自己无所不知,但是人类的特点是,能够认识到自己的不足,然后去学习新知。

所以,你要明白,想要成为一个更好的程序员,第一步就是意识到自己总有新物要学,保持谦逊的态度,这才是学习的一贯正途。

2、停止去证明你有多正确

但是经验也会使我们不断重复错误的行为导致养成不好的习惯。如果你是有8年经验的程序员,你也有可能连着8年都在重复同样的错误。

克服这一谬感的方法就是,时刻检视自己,并不断地发问:在这一点上,我是否还能做得更好一些。

举个有趣儿的例子,一个经验丰富的软件开发者,他写出了令自己也艳羡不已的代码,于是他觉得这个代码简直太完美了,他不断写文章去证明自己有多么的正确,代码功能多么优秀。

真正优秀的程序员,他们都喜欢去证反,就是去证明自己有多么的错误,因为他们知道,长久来看,用户一定会发现软件的问题和失误,而他们希望自己首先发现这些问题,而不是等待别人去发现。

你看到优秀和平庸之间的差距了吗?

3、代码没有死亡,它始终活着

第一步你总是要写出高质量的代码来满足用户的特殊需求,但是优秀和平庸的区别体现在哪里?

如果你只是匆匆忙忙地进入下一个任务中,那么你不可避免地成为了穷忙族。

你写出代码并不意味着你的工作结束了,相反,一切都才刚刚开始,你不需要火急火燎地赶往下一个站点。停止,仅仅意味着阶段性的展示和赏析,但是你的工作没有结束,要依靠迭代让产品变得好上加好。

如何让产品变得更好?我们依据不同的应用,会提出不同的问题,比如,更快是不是对产品价值的增值?更容易记录是不是呢?更容易重复使用呢?更可靠呢?

这些问题虽然不同,但是程序猿对产品不懈追求的动机是一致的。

4、写第三次

好的程序员认为写出的软件能运行就好了,伟大的程序员认为软件要运行得极其完美。但这很少在第一次就成功,最好的软件通常要写三次

在那些最好的开发者身上,你并不会明显地看到这种级别的工作流程,他们做的一切都看起来聪明极了,但是在他们背后,他们多少次将第一版和第二版扔进垃圾桶,你是不得而知的。

你想做到更好,你就要将摒弃代码与重新开始这条方法融进你自己的工作流程之中。

如果没有什么特殊情况,“写三次”可以教你认识到:解决一个问题有很多种方法,它使你避免在一棵树上吊死。

5、尽可能去读代码,越多越好

要提高编程技能,你就要去读别人的代码。这一点太重要了。

你读别人的代码就能发现他们是怎样解决一个编程问题的。但是不要仅仅把它们当作参考文献,你要把它们当作挑战,去学技能,让自己的编码能力得到提高。

你可以这样问自己:我能学到什么呢?我怎么用到自己的代码中去呢?我以前可从来没想到还可以这样做呢!我能做什么来提高我的代码的质量呢?

注意:阅读大量的代码并不能使你变成伟大的程序员,就好比一些想要超越伟大的文学家的人阅读了大量的优秀文学作品结果却并不一定提高自己的写作能力一样。

大量的开发者只是为了简单地解决问题而去阅读,他们急于找到一个答案,所以大部分时候,他们只是复制和粘贴了别人的代码。

你这样做的话,就会变成一个特别糟糕的程序员,因为你对他人的智慧视而不见。如果你只是抄袭而不去花时间理解的话,你吃的就只是bug而不是夏日午餐。这样,你其实就成为了一个bug生产厂。

6、不要只为工作写代码

接一个私人的编程项目有许多的好处。比如,你不仅有机会获得在目前的工作中很难学习到的工具和技术,而且还能够使你更具有市场眼光。

因为热爱而写代码的另一个好处就是你很容易依靠自己去解决许多问题。你不能把困难抛给别人,你会停止一遇到问题就立即向别人寻求帮助。

提示:不要只选择你有把握的私人项目,你需要一些无把握的尝试。

7、尽可能与其他开发者合作

倾听他人是合作的基本原则。无论你是组队编程还是参加黑客马拉松,或者就是参加一个编程人联合会,比如Vermont编程人联合会。

当你为一个开源项目无私贡献的时候,你要注意来自用户和其他开发者的反馈意见。你在这些评论中看到那些共性了吗?

其实你这是很幸运地遇到了可以信任的私人顾问,他们能在你需要的代码技术和职业选择的一系列问题上给你指导。不要浪费这些机会。

8、你学的是技术,而不是工具

编程语言、工具和方法论千帆过境,数不胜数。这就是为什么你在语言、框架上的经验要尽可能地多。你必须集中精力在编程的基础上,因为基础基本不变;你还要把注意力放在构建而不是编写上。

任何时候,你坚信只有一条正确的道路通向真理,那么你就该自我反省一下了。教条会阻碍你学习新的知识,使你变得不爱改变。

道理怎么讲都讲不完,但是自我提升的核心要点就是你知道在哪里止步。




更多iOS、Android、Python、Java、MySQL的文章,请点击:

http://blog.csdn.net/jamiecheung


更多Java、Unity3D的文章,请点击:

http://blog.csdn.net/u010841622
原创粉丝点击