当与非程序员朋友交谈时,我碰巧提到了“美丽代码”的概念,她想理解这是什么意思,但是我对如何向一个没有语言的人解释它感到茫然上下文。
无论如何,当所有代码看起来对某人来说都是胡言乱语时,您怎么能解释是什么使一个代码比另一个代码更漂亮?类比也可能有用。
当与非程序员朋友交谈时,我碰巧提到了“美丽代码”的概念,她想理解这是什么意思,但是我对如何向一个没有语言的人解释它感到茫然上下文。
无论如何,当所有代码看起来对某人来说都是胡言乱语时,您怎么能解释是什么使一个代码比另一个代码更漂亮?类比也可能有用。
Answers:
语言类比
想想您最喜欢的故事。它可能写得很漂亮。对于不讲英语的人来说,仅仅因为他们无法理解它或理解为什么它美丽就不会减损它的美丽。
建设类比
考虑一个破旧的房子。它的门窗显然是砖砌的。砂浆在基础不足的一个角落破裂。而且没有人能理解为什么有通往第二层的楼梯间不存在。厕所建在没有排气扇的厨房旁边,其位置应使盛行的风将整个房屋的其余部分散发出令人讨厌的沼泽气味。露天壁炉的烟囱距离一些木头有5cm的距离,可以着火了。
与之相对应的是,房屋应有尽有,维护成本低,完全绝缘,因此,一点太阳能可以使冬季保持温暖,通过通风回收能量,因此您既有新鲜的空气,又有舒适的温度和微不足道的电费单。它由不易燃材料制成,因此不会被火烧毁。它将承受9.0级地震和F5龙卷风。它的建造成本仅比其他房屋高出30%,但将在5年内偿还差额。而且在美学上令人愉悦。
GUI就像房子的外观。用户可以在GUI中识别美丽,就像他们可以欣赏美丽的房子一样。但是,也许更重要的是,房屋和程序中设计的真正美在于那些初学者看不见的东西,但是无论如何重要还是很高兴。
想想一辆车。
我们大多数人看着汽车,只能看到车身。如果有人修理衬里并在汽车上进行了新的喷漆工作,它将看起来更漂亮。它基本上是同一辆车,但这就是我们所看到的。
技工打开汽车,看着引擎。他们看到那个引擎有多好。他们看到一切安排都易于实现,维护和工作。他们看到了零件,并且知道它的设计水平。对于经验丰富的机械师而言,保养良好的高品质汽车的引擎已成为一件美事。他们无法向您解释是什么使它变得美丽,但是他们的美丽概念可能会转化为更低的维护成本,更长的汽车使用寿命和更好的性能。所有这些都增加了这辆车的价值,即使您看不到它。
当您浏览网站或应用程序时,就像我们大多数人看到的汽车一样。当我看代码时,就像机械师看汽车的引擎一样。您永远无法像我一样体验到该代码的美妙之处,因为它实际上对您是看不见的。但是美就像机械师的美一样重要。它确定了软件的运行状况,它将遇到的各种问题,改进软件的容易程度等等。所有这些都增加了该软件的价值,即使您看不到它。
存在的所有代码都是必需的,并且都不需要说明。
我指的是诗歌:
一首写得很好的诗与一本翻译不佳的手册中有关同一主题的摘录有不同的感觉。
杰克逊·波洛克(Jackson Pollock)的绘画是一些对某些人美丽而对其他人胡言乱语的例子。
这就像一个精简的公司,每个人都知道他们的角色,很容易弄清楚谁擅长于什么,并且没有重复的工作
VS.
倡导平庸的办公空间,三位经理要做的事,无非是让您对TPS报告感到厌烦,所以传真机永远无法工作!!而任何给定的员工一周只能完成大约15分钟的实际工作。员工甚至可能在技术上不再在那里工作,因为有人忘了解雇他(很难说真的,因为没人能有效地工作,而且很难评估他们要完成的工作)。为了使任何事情切实可行,需要浏览一个荒谬的,过于复杂的系统,该系统有些人已经读过,并且认为即使简历并没有真正解决他们所遇到的问题,他们的简历看起来也很整洁。