欢迎来到天天文库
浏览记录
ID:34477678
大小:415.25 KB
页数:6页
时间:2019-03-06
《读别人写的代码_vs_自己写代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、为何我喜爱读他人的代码,而你也应该去喜爱它原作者:AlanSkorkin翻译:Xguru这让我想到很多程序员讨厌去阅读代码,来接受它吧。人人都喜欢编写代码--写代码是很有乐趣的事。但阅读代码却是一种困难的工作。它不仅仅繁重,而且很无聊,让我们面对这个事实,任何不是自己写的代码都是差劲的(嘿嘿,虽然我们没有这样说过,但是其实我们都是这样想的)。甚至当你写完代码后的仅仅几个小时之后,你的那些代码就开始变得越来越烂了,时间一长,你就会把它当作看起来的那种差劲作品。所以,你又何必要去花费时间来审视别人蹩脚的代码呢,这段时间你完全可以用来自己去写一些非常优秀的代码
2、,为什么不这样尝试一下,把自己写好的代码放上几个小时再回头看看,它是否依旧非常优秀呢?如果你不站在前辈们的肩膀上,你将没有可能成一个为技艺精湛的大师。其中一种途径就是亲自找到一个大师,让他把他所有的知识全部传授给你--当然这是有可能的,虽然可能性不高,你必须非常走运才能获到这种机会。然而你可以不用想着去碰运气,我们很幸运的处在这样的一个职业里--大师们的经验和知识都在那里等着我们去吸收,这些都蕴涵在他们所写的代码里。你所要做的事就是去阅读它,当然它可能会比找一个人坐在你旁边向你解释这些多占用一点时间,但是这是实现起来可能性较高,透视全局地思考下,若想成为
3、优秀的木匠,你就必需观察大量的拥有优良结构的家具。我喜爱阅读代码,我的直觉告诉我,你也将会从中受益匪浅,是的,它的确可能是无聊、令人恼火的的事,但是它所产生回报非常值得你去努力。考虑这个,如果你想成为一个优秀的代码写手,你是否专门将注意力集中在编写代码上?你可能尝试过,但是你无法单单靠写代码走得更远。这是个普遍公认的事实,大多数卓越的写手都是如饥似渴的阅读者。在你希望去写些体面点的东西之前,你需要阅读其他卓越的写手的作品,吸收不同的风格,看看在你之前别人有了怎么样的尝试。从而培养你自己的创造性。你的知识会慢慢增长,最后你自己写的东西会显得成熟,你将慢慢找
4、到编码的"感觉",编写代码也是同样如此,如果你从来没有阅读过其他卓越的代码,你又凭什么指望能写出一些优雅的代码?答案就是别指望这码事了。对于优秀的程序员来说,阅读卓越的代码就像作家需要阅读卓越的书籍一样重要。尽管所有的这些都不容易让人信服,但是有一个事实是毋庸置疑的--作为一个专业的开发者,擅长阅读代码能够对你的生存十分重要。如今任何正式的项目都是一个团队的努力,所以这将有大量的代码不是你所提交,但是你又不得不要与其工作、修改和扩展它。因此,阅读代码可能将是你所拥有的最常用到并且最有用的技能;你最好尽快咬紧牙关去掌握它。如何去阅读代码,像...某类代码阅
5、读者么?我无法告诉你我见过多少次这样的情形:程序员在陌生的代码里上下滚动屏幕,几分钟以后,脸上就出现了郁闷的表情。然后他们就宣布这代码就是不具备可读性的废物,为何要在这上面浪费时间呢;我们只能用其他的某种方法去解决这个问题。我不确定他们期待什么,是靠潜移默化就能理解代码的意义?或者是就靠聚精会神地盯着这些代码,就期待能获得启迪?你不应该只长时间的注视着代码,你需要理解它并将其为己所用。这里有一些我喜欢使用的技巧,它并不是一个详尽的清单,但是我发现这些方法特别有用。1.试着去编译和运行它。这通常是一个简单的处理步骤,比如当你寻找工作性的代码(与随意的编码相
6、反)。然而这也并非总是如此,你能通过将其构建和执行的过程中学习到代码里很多高层的结构组织。在工作代码的主题中,你是否熟悉如何构建你当前的项目?项目的构建通常是复杂的,但是能够通过一点点地了解构建过程可执行码是如何产生的,可以让你获得很多的体会。2.不要只着眼于细枝末节。第一件事你需要做的,就是在你所读的代码结构和风格中找点感觉,开始浏览和试着弄明白各个代码段想要做些什么。这会让你熟悉整个代码库的高层的结构,同时也给你正在处理的代码(无论是良好分解的、或者是意大利面条式【译注:形容代码混乱难以梳理】的等等)一些构思,这是你找到问题切入点的时候(任何发生的事
7、,主函数、小型服务程序、控制器等),观察代码是如何从这里分支出去的。但是不要花费大量的时间在这个上面,随着你对代码有更深入的了解,你可以随时返回到这个步骤。3.确认你了解了它所有的结构。除非碰巧你是在编程语言上的首席专家,否则这里可能有些它让你不了解的行为。当你从较高层级的俯览过其代码时,记录下你不可能不熟悉的结构。如果记录的东西非常多的话,你的下一步就很明显了。如果你对逐句的代码是如何工作不怎么了解的话,就不要走得太远。尽管只有几个结构你不太熟悉,如果你去仔细探究它们的话,可能会为你带来良好的构思。你现在也是正在探索以前你所使用的编程语言中一些不了解的
8、东西,我很乐意为此花费几个小时去阅读代码。4.现在你获取到了大多数结构的优良构思
此文档下载收益归作者所有