如何提高自己的代码品味

我想了解一下各位大佬

  1. 心中什么样的代码是艺术的
  2. 如何提升代码品味/审美
  3. 如何刻意练习
1 个赞

推荐一本书《A Philosophy of Software Design》,作者 John Ousterhout

7 个赞
4 个赞

在制造了许多屎后,我已经与屎和解了。过去我们的所有努力,全部木大。见的屎多了迟早会变成屎,所以,不要睁开眼晴,只要不做peer review,代码就一直是完美的😖

4 个赞

多看我大A的走势图,再看代码,品味自然就提高了。

1 个赞

突然想起来一张图

请看可读性曲线,它的左边是平凡的,坑里是魔法,右边是纯理论物理学

5 个赞

补充一下原文链接:

1 个赞

我感觉lisp最佳,所以多写点lisp应该有用,回头看自己曾经写过的东西,感觉只有写的elisp还勉强能看,写得最糟糕的是html, 写得比html还要糟糕的则是用中文编程写出来的东西

描述解释代码的文档有很多,论文,日志,文章,注释。在我看来,不论一篇代码能否直接读懂,读完其文档后,恍然惊觉,其算法如此巧妙,如 Vandermonde Matrix,其架构浑然一体,恍若本应如此的,就可以叫做艺术品了。

我是學了 Design Patterns (不要學怎麼用, 而是裡面的 principles), 在遵循這個邏輯去寫, 搭配看網路大神寫的代碼, 就可以開始區分好壞. 我覺得好的代碼有這幾種特性:

  1. 好讀
  2. 好拆
  3. 代碼重複利用性高
  4. 顯見的規範
  5. 邏輯清晰 (代碼上面的)

雖然寫好代碼很重要, 但也不用特意糾結這點, 主要是著急也沒用. 能最低限度把代碼寫得看得懂, 我就覺得比一般業界的水平好了… :neutral_face:

3 个赞
  1. 对人类来说,好读,方便协作。模块化、格式规范、设计模式等主要是为这个目的服务的。
  2. 对计算机来说,跑得快,不崩溃。内存管理、边界检查、类型系统等。当然,第1点做好了,也能保证程序跑得快且不容易崩溃。

第 1 点 >= 第 2 点。

1 个赞