余晟以为 微信号 yurii-says 功能介绍 我和狗叔回忆,我们好像都没有正经上过什么"把程序写好"的培训班,也没有《九阴真经》之类的宝典。但是我们又都看到,很多程序员写的程序是不合格的,大量基础规范都没有遵循(更可怕的是这样的程序很可能还在服务我们每天的生活)。那么,优秀的程序员,是从哪里学到把程序写好的知识的呢? 这个问题我想了很久,有几点结论可以分享给大家。 反过来说,程序员能掌握的权力相当大,成为"合格程序员"的门槛也相当高,虽然这种门槛并不为许多人所知。前段时间有很多人叫嚷"我万事俱备,只差一个写代码的",恰恰是因为他们把写程序看成简单机械的劳动,但以自己的聪明才智又学不会这种"简单机械"的劳动。这种矛盾,恰恰说明写程序是有门槛、有要求的。所以,要想成为称职的程序员,必须正视写代码。 其次,必须读过一些基本的书籍 其实市面上已经有一些教人"把程序写好"的书籍,认真读完这些书,认真落实其中的规范,至少能保证把程序写"合格",不会有明显的缺陷,为将来把程序写好奠定坚实的基础。从我和身边朋友的经验出发,我觉得《代码大全》、《重构》、《编程珠玑》、《程序员修炼之道》这几本书都是很不错的,如果能耐心读完并认真思考,写程序的水平会有相当的保证。 要保持好奇心,多借鉴其它项目的内部实现 这看起来确实是简单机械的劳动,也不会给人多少提升。但事实并非如此。很多好的程序员就在这个过程中学会了把代码越写越好。因为他们保持了好奇心,去探究这些开源项目的内部实现,把应用的过程当成了学习的途径。在使用一个现成方案之前,先想想如果自己去解决要怎么办,再看看其他人的现成代码,确保自己懂得了这些代码蕴含的思维。甚至比较相类似的几个开源项目的源代码,分析其优劣,在自己的工作中注重借鉴其长处,避免其短处。久而久之,写程序的水平自然会有大的提升。 在写程序时,要懂得在工程与理论之间求得平衡 在大方向上,我认同这种说法。但在具体的问题上,它未必正确。因为编程是与工程密切相关的工作,与工程密切相关就意味着大量的权衡、取舍。无论奥卡姆剃刀原则还是爱因斯坦的话,原本的主题都是针对理论的,所以两者并不能严格划等号。 在实践中我见到过很多过份迷恋简单、美感的程序员,我称之为"玩套路"——他们太在意程序的形式美感,为了刻意追求那种严谨整齐的感觉而忽略了现实,也不懂得针对现实做出取舍,最终把自己套了进去。结
Read full article from "把程序写好"这回事
No comments:
Post a Comment