西西河

主题:【原创】编程随想 -- 代码ABC

共:💬17 🌺48
分页树展主题 · 全看首页 上页
/ 2
下页 末页
      • 家园 【原创】事实上,原文只停留在讲信的基础上

        正确性一直是困扰程序员的大难题.“达、雅”就更不好说了。

        我现在的观点:“达“应该是在信的基础上做到表达通顺、易懂。即代码的可读性。我承认有不少看起来风格很好的代码可能存在不少错误。但是,一方面,我指的是在“信”的基础上的“达”。二、通常愿意花时间考虑表达的程序员写出正确代码的可能性比较高,即使有错也容易发现(甚至不需要借助调试工具)。

        而“雅”我想说的是艺术性,如果你同意好的程序也是一种艺术的话。不过原文我没表达出这个意思。这是我几年前写的了,那时候恐怕还没体会,或者有体会但是说不出来。正如写作,同一个意思可以用很多方法表达一样,有些文字看起来会赏心悦目,回味无穷。代码也是一样的。

        • 家园 的确,正确性是衡量代码好坏的最关键标准

          其他的,如性能、效率、可读性等等,都是建立在正确的基础上的。

          其实,这个“信达雅”,也是强调以“信”为首,其次为“达”,最后再提高到“雅”,而“达”和“雅”都必须是以“信”为前提的。

          看来,老兄比较强调的是代码的可读性和可维护性。站在这个角度,你在主帖原文里把程序的“结构清晰,容易上手”归结为“达”,倒也贴切。

          我非常同意“好的程序也是一种艺术”。

          所有的人工作品,发挥到极致,肯定会在elegance上表现出高下之分,人写出来的软件代码自然也不例外。我的理解,具有艺术性的程序应该看起来:逻辑完整、流畅,各个部分配合紧密、恰到好处,甚至还有点惜墨如金的意思。

          这些年来,软件行业也算见识过了什么是“好代码”,什么是“坏代码”,对各种编程风格也都尝试了不少,总结出了象design patterns, idiom, coding styles等等不少的best practices,甚至还有anti-patterns。在我看来,这些其实是对程序代码艺术性的评价标准。

          看高手的代码片段,看那些对design patterns和idioms的介绍文章,常常会有那种先百思不得其解,然后峰回路转、豁然开朗的感觉,真的不亚于欣读小说或者看电影。好多patterns, idioms构思之巧妙、建造之精密,绝对称得上是艺术品。

分页树展主题 · 全看首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河