龙空技术网

《代码之美》,写出让人赏心悦目的好代码

Python有温度 218

前言:

此刻小伙伴们对“python优秀源码”可能比较关注,咱们都想要剖析一些“python优秀源码”的相关知识。那么小编在网络上搜集了一些有关“python优秀源码””的相关文章,希望兄弟们能喜欢,同学们一起来了解一下吧!

《代码之美》主要讲述了计算机系统的开发领域。在每章中的漂亮代码都是来自独特解决方案的发现,而这种发现是来源于作者超越既定边界的远见卓识,并且识别出被多数人忽视的需求以及找出令人叹为观止的问题解决方案。

《代码之美》是由 Greg Wilson 在 2006 年构思的,本书的初衷是希望从优秀的软件开发人员和计算机科学家中提炼出一些有价值的思想。他与助理编辑 Andy Oram 一起走访了世界各地不同技术背景的专家。一堆如雷贯耳的名字居然出现在同一本书中,怎能不令人兴奋?! 你是程序员吗?你对代码之美的认识是什么?38位作者,38 个来自不同开发领域的专业经验,38 种不同的意见。你想知道牛人们对代码之美是怎么想的吗? 其实,这本书最奇妙的地方还不在于这一点,而在于,如果你知道这些作者的名字,你肯定会忍不住去看一看。如果你不知道这些作者的名字,你更加会忍不住去看一看。因为你知道这些人的观点肯定不会让你失望!

《代码之美》是2009年机械工业出版社出版的图书,共计33章,有38位作者,每位作者贡献一章。每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,张力十足。38位大牛,每个人对代码之美都有自己独特的认识,现在一览无余的放在一起,对于热爱程序的每个人都不啻一场盛宴。虽然本书的涉猎范围很广,但也只能代表一小部分在这个软件开发这个最令人兴奋领域所发生的事情。

《代码之美》包括正则表达式匹配器、最美丽的代码、美丽测试、NASA火星漫步者任务中的高可靠企业系统、美丽的并发、以REST方式集成业务伙伴等。每一章都是由一位或几位著名程序员针对某个问题给出的完美的解决方案,并且细述了这些解决方案的巧妙之处。

《代码之美》正是从程序设计的角度出发,告诉我们如何编写好的代码。

什么是好的代码?

好的代码通常具有以下特点:

·紧凑性:代码的功能明确,语言简洁,各部分关联性强。

·高效性:代码运行速度快,处理问题的平均时间要尽可能短。

·可靠性:代码能对所有可能的情况做出正确的处理。

·移植性:代码在各个平台上都能正常运行或不需太多修改便能够运行。

·实用性:代码能对问题的绝大部分情况给出令人满意的结果。

·扩展性:在代码的基础上添加新的功能相对容易。

书中给出了好的代码的7个原则:

1 像书本一样

2 功能相似的代码在外观上也保持相似

3 减少缩进

4 分解大型的代码块

5 对代码进行注释

6 整理代码

7 与已有的编码风格保持一致

代码要易于理解

想写出易于理解,可读性高的代码,减少代码行数是一个好目标,但是把理解代码所需的时间最小化是一个更好的目标。要经常的想一想其他人在阅读自己代码的时候的感受,要欣赏还是吐槽乃至呕吐。代码需要很棒的命名,写的很好的注释,并且整洁的使用空白符。

写出易于理解的代码的三个办法:

表面层次上的改进

命名,注释以及审美——可以用于代码库的每一行的小提示。

简化循环和逻辑

在程序中定义循环、逻辑和变量,从而使得代码更容易理解

重新组织你的代码

在更高层次上组织大的代码块以及在功能层次上解决问题的方法

回想自己以前写过的代码,几乎没有能完全满足上述要求的,毕竟当时只是为了解决眼前的问题,赶工期,不需要考虑其他各方面的因素,只要编译成功,只要完成任务就好。可是软件开发提出了更高的要求,只有好的代码才能汇聚成一款令人满意的产品。

后来,慢慢的多次翻阅本书,对好代码有了自己的理解,结合工作,制定了一些标准,比如好的命名、规范的命名、合理的注释、保持代码量适中的函数、编码风格一致。之后把这种习惯理念影响到了团队,在后期的修改维护中,愈发显示出好代码的威力。

千里之堤,溃于蚁穴,我想,在写一个好的程序之前一定是要有好的规划的,就如同建筑师设计好的蓝图,对建筑师而言最后的结果早已了然于胸,任何一个部分发挥的作用他都十分清楚,这样搭建出来的建筑才能够稳固且美观。在面对一个新的问题,尤其是设计一款优质的软件时,我们更应该事先对问题进行分析,抓住关键并规划好蓝图,这不仅会提高后面的工作效率,也有利于编写简洁高效、稳定可靠的代码。

读完《代码之美》,只可惜自己水平还有限,有些章节还不能领悟到其中三味。但他们的经验无疑给予了我对编程的全新认识,书中给予了不同资深程序员对代码之美的认识和见解,仁者见仁,智者见智,有详细的带领我们走进一段算法的走向完美的过程体验,有大的系统的开发经验略谈,或许短期无法给予我直接的帮助,但是无疑开阔了我的视野,对系统开发,软件,算法有了进一步的认识。这正是我们学习这些前辈思想的时候,他们的经验值得我们去思考,沿着作者的思路,一步步去明白,一次次优化的背景和作用,也许我们中很多人定不会写出这样子的代码,但不代表以后不会。

需要承认的是,这本书讲的内容涉及面广而且深,对于大部分来说,是不可能全部理解通透的,从操作系统到数据库,从C到JAVA、Python、PERL、Ruby、C#、XML,从设计模式到软件测试。但这本书是有价值的,就像序文所述,“看得多远,取决于你站得多高,要想成为他们,你得先知道他们”。这正是我们学习这些优秀领导者们思想的时候,他们的文字值得我们去咀嚼,沿着作者的思路,一步步去明白,一次次优化的背景和作用,也许我们中很多人定不会写出这样子的代码,但我们可能会因此而有所感触,这已经足够了。

看完全书,我惊叹于这些创作者们的乐此不疲,也意识到了前面任重道远,值得我们深入的挖掘和思考。

标签: #python优秀源码