美在于简单
我觉得有一句所有软件开发人员都应知道并铭记于心的名言:
美的风格、和谐、优雅和旋律均在于简单。——柏拉图
我想这是总结了我们作为软件开发人员应该追求的价值的一句话。
我们在代码中会努力争取一些东西:
· 可读性
· 可维护性
· 开发速度
· 难以描述的美
柏拉图告诉我们,正是简单让这些得以实现。
优美的代码是什么样的?这可能是一个很主观性的问题。对美的感觉很大程度上取决于个人背景,正如我们对很多事情的感觉一样。接受艺术教育的人和接受科学教育的人,对美的感觉(至少追寻方法)就不一样。主修艺术的人会把软件与艺术作品相比较来探寻软件之美,而主修科学的人则倾向于谈论对称性和黄金比,尝试将事物简化为公式。以我之见,简单是双方绝大多数争论的共同基础。
想一想你学习过的源代码。如果你还没有花时间学过其他人的代码,就先别看这篇文章了,找点开源的代码先学习。我是认真的!在网上查一写你所选语言的、由公认的知名专家所写的代码。
你回来了?好的,我们说到哪儿啦?对......我从能让我产生共鸣、觉得优美的代码中,找到了一些共性。其中首要的就是简单。我发现不管总的应用程序或者系统多么复杂,个体部分总是保持得很简单。承担简单的职责的简单对象,包含着同样简单、专注的、有描述性名字的方法。有的人认为使用只有五到十行代码的简短方法的观点太极端了,也有些编程语言中这很难实现,但是我仍然认为这种简洁是一个值得追求的目标。
最终,优美的代码就是简单的代码。每个个体部分都承担着简单的职责,与系统中其它部分保持简单的关系。这样我们就能通过干净、简单、可测的代码来持续维护我们的系统,并在系统的整个生命周期都保持很高的开发速度。