欢迎来到天天文库
浏览记录
ID:49504973
大小:67.00 KB
页数:4页
时间:2020-03-02
《十步让你成为更优秀的程序员.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、十步让你成为更优秀的程序员不惜任何代价避免匝复的代码。如果一个常用的代码片段出现在了程序屮的几个不同地方.朿构它•把它放到一个自己的函数里。11复的代码会导致你的同事在读你的代码时产生怵I惑。这篇文章要介绍的,是我作为专业程序员这些年來学到的能真正提高我的代码质戢和整体工作效率的10件事情。1.永远不要复制代码不惜任何代价避免匝复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,匝构它,把它放到一个自己的函数里。霓复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个
2、地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语言提供了很好的方法來解决这些问题,例如,下面这个问题在以前很难解决,而如今使Wlambdas却很好实现:1.///2・///一些函数含有部分重复代码3・III4.voidOriginalA()5.{6・DoThingsA();7.8・//uniquecode9.10.DoThingsB();11.}12.III〈summary〉13.///另外一个含有部分匝复代码的函数14.///
3、y>15.voidOriginalB()16.{17.DoThingsA();18.//没有朿复的代码19.DoThingsB();20.}现在我们靈构含有部分相同代码的函数.用delegate模式更写它们:1.///2.///Encapsulatesharedfunction^lity3・///4.///Userdefined5.voidUniqueWrapper(Actionaction)6・{7.DoThingsA();8.9
4、.action();10.11.DoThingsB();12.}13・///14.///NewimplmentGtionofA15.///16.voidNewA()且ction17.{18.UniqueWrapper(()=>19.(20.//uniquecode21.});22.}23-///24.IIINewimplementationofB25.///26.voidNewB()27.{28•UniqueWrappe
5、r(()=>29.(30.//uniauecodeA31.});32.}1.留意你开始分心的时候当你发现自己在浏览facebook或微博、而不是在解决问题,这通常是一种你需要短暂休息的信号。离开办公桌,去喝一-杯咖啡,或去跟同事聊5分钟。尽管这样做看起來有点反直觉,但长久去看,它会提高你的工作效率。2.不要匆忙赶任务而放弃原则当带着压力去解决一个问题或修改一个bug,你很容易失去自制,发现自己匆匆忙忙,甚至完全忘了一直坚持的垂要的测试过程。这通常会导致更多的问题,会让你在老板或同事眼里显得很不专业。3.测试你完
6、成的代码你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范用外的值。传递一个null值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种冃的的常规方法。1.代码审查提交你的代码之前,找个同爭一起坐下來,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。2.让代码更少如果你发现写了大量的代码-來解决一个
7、简单的问题,你很可能做错了。下面的boolean用法是一个很好的例子:1.if(numMines>0)2.{3・enabled=true;4・}5・else6.{7.enabled=false;8.}这时你应该写成这样:1・enabled=numMines>0;代码越少越好。这会使bug更少,重构可能性更小,出错的几率更小。要适度。可读性同等重要,你可不能这样做而使代码丧失可读性。3.为优雅的代码而努力优雅的代码非常的易读,只用手边很少的代码、让机•器做很少的运算就能解决问题。在各种环境屮都做到代码优雅是很难的
8、,但经过一段时间的编程,你会对优雅的代码是个什么样子有个初步的感觉。优雅的代码不会通过重构來获得。当你看到优雅的代码是会很高兴。你会为它自豪。例如,下血就是一个我认为是优雅的方式来计算多边形面积的方法:1.staticpublicdoubleGetConvexPolygonArea(Vector2[]vertices)2.{3・doublearea=0;4・for(inti=0;i
此文档下载收益归作者所有