代码洁癖系列(八):迭代的原则
我们都知道,一个软件的维护成本往往要高于其研发成本。在维护过程中,我们的代码需要不断的进行迭代。迭代的目的有两个:修复bug和增加新特性。但是迭代也会带来一系列新的问题,比如新的bug,或者是破坏代码的整洁性。这里我们从保持代码整洁性的角度来讨论一下迭代的几个原则。
我们都知道,一个软件的维护成本往往要高于其研发成本。在维护过程中,我们的代码需要不断的进行迭代。迭代的目的有两个:修复bug和增加新特性。但是迭代也会带来一系列新的问题,比如新的bug,或者是破坏代码的整洁性。这里我们从保持代码整洁性的角度来讨论一下迭代的几个原则。
1998年的9月4日,拉里·佩奇和谢尔盖·布林将Google带到这个世界。就在前几天,Google刚刚过了20岁生日。经过20年的发展,Google早已不是当初的小作坊了,而是发展成为被大家公认的全球最大的搜索引擎公司。20年间,Google不仅在搜索技术上表现颇为出色,在大数据、云计算、AI等各个方面都有着巨大的贡献。
在许多程序员眼中,单元测试似乎是可有可无的,觉得这应该是测试人员的工作。实际上,测试代码和生成代码同样重要。我们不但需要测试代码,而且需要的是整洁的测试代码。
程序运行过程中,有些错误是不可避免的,而如何使程序在出现错误时代码仍然正常工作就成了程序员的日常工作之一。那么处理错误和代码整洁有什么关系呢?
我们在阅读一些优秀项目的源码时,一定会感叹他们代码的整洁和一致性。而作为第一印象,代码格式的整齐是让人能够继续阅读下去的动力。今天我们分别从垂直格式和横向格式两个方面来讨论代码的格式。修正格式的方法有:间隔、靠近和调整顺序。
刚开始学编程的时候,老师就告诉我们,注释很重要,但是一直到现在,也没有人真正告诉过我要怎么写注释。还有很多人甚至干脆不写注释。所以今天想聊一下到底如何写注释。
前面我们讨论了什么样的命名更能够让你赏心悦目,今天来讨论一下面向对象编程过程中最重要的环节,编写类和函数。我们仍然用Java来演示,什么样的类和函数才算是整洁的。
不知道大家还记不记得《家有儿女》里有这么一段经典台词:“我叫夏雪”,“我叫夏雨”,“我叫夏冰雹”。
作为一个代码洁癖患者,我最大的愿望就是世界和平……对不起,拿错剧本了,最大的愿望就是将对代码的洁癖传播给每一个人,净化所有的代码。这是一个宏大的愿望,但我会一直努力净化我所看到的每一行代码,并且希望能影响更多的人,让大家都写出整洁的代码。
前文我们介绍了Java并发编程中的两个关键字:volatile和synchronized。我们也知道了volatile虽然是轻量级,但不能保证原子性,synchronized可以保证原子性,但是比较重量级。