代码之美

软件中,最漂亮的代码、最漂亮的功能、最漂亮的程序根本不存在。

开发人员很害怕听到 “bug” 这个词。人们普遍认为,代码没有 bug 的程序员就是优秀的程序员。尽管编写没有 bug 的程序是设计的要求,但是编写过程中没有 bug 是不现实的。我的意思是说,有些开发人员在编译阶段或执行程序之前就在努力编写没有错误的代码,他们更多地关注功能实现而不是代码的设计。

在开发过程中很容易忽略代码的可维护性。为了实现功能而忽略某种模式或标准,是导致灾难的重要原因(代价也会很大)。另外,程序员可能会太关注开发的效率;过早的代码优化就相当于打开了工程的潘多拉魔盒。

好的设计是能够让其他设计师因他们自己想不到该想法而怀疑自己的智商。

基本原则是“少即是多(less is more” ,也就是说,一些优秀的开发人员要一次又一次地对代码进行重构、改进,以便消除冗余,使其尽可能简单易懂

算法为提高编程效率提供了可能他们是编程的支柱,因为算法系统地描述了解决问题的步骤。逻辑分析属于左脑,解决问题需要创造性,就要用到我们的右脑。解决问题的关键在于控制复杂性。正如我们前面探讨的那样,复杂性会对我们的程序产生负面影响。

我所设计、评论或研究的所有最佳算法都有一个共同点: 它们通过聪明的想法来有效地处理计算任务,同时避免产生不必要的细节和复杂性。这包括:简化布尔代数、合理地组合、选择最适合的数据结构、使用简洁的正则表达式、合理利用资源以及遵循 SOLID 原则

SOLID 原则是指设计模式的六大原则,即:
Single Responsibility Principle:单一职责原则;
Open Closed Principle:开闭原则;
Liskov Substitution Principle:里氏替换原则;
Law of Demeter:迪米特法则
Interface Segregation Principle:接口隔离原则
Dependence Inversion Principle:依赖倒置原则
然而这里有一个悖论,让创造算法成为一项复杂的任务:
没有算法可以解决创造力的问题 — Andy Hargreaves

一个程序员不会因为他们代码被铭记,而会因为他的编码风格而被别人铭记。

程序员编写代码不仅是为了让计算机执行,也是为了让其他程序员在阅读、拓展、修复或调试之前能够理解它。因此准确编写代码并保持代码风格的一致性至关重要。

其中代码的缩进和空格的使用很关键。

最好的布局方案是能够让代码修改后也能保持风格的一致性,如修改一行代码,不会影响到其他代码。程序员的代码本身就应该有自我说明的能力,也就是说代码要有足够的注释、命名要能表达其真实意图、尽量编写简短且易于测试的纯函数等。

发布了8 篇原创文章 · 获赞 1 · 访问量 6725

猜你喜欢

转载自blog.csdn.net/hello250sunshine/article/details/104090885
今日推荐