我们致力于将卓越的设计带到我们为客户创造的工具中,也带到为其提供支持的代码和系统中。
从表面上看,美学与技术并没有明显的联系。传统上,美的概念不属于软件工程的范畴,因为软件工程通常与算法、时间和空间等可测量元素、性能和抽象有关。然而,与此同时,工程师们可能会说:
这是一个非常棒的解决方案。
关键的困难在于:好的设计可以在你看得 埃及 whatsapp 电话号码列表 见摸得着的物品中清晰地辨认出来(比如艺术品、汽车、衣服、家具、食物或建筑),但软件是无形的,纯粹是逻辑的。在其他领域,创作者可以提升自己的技艺,因为存在一种批评语言;例如,一幅画可以用线条、纹理、运动、比例或色调等术语来描述。即使是啤酒的世界也有丰富的词汇:醇厚、麦芽味、酵母味、啤酒花味等。
目前尚不清楚软件工程师应该如何判断其工作中的类似品质。面对这一挑战,人们想到了许多问题:
对于软件这样抽象的东西来说,什么是美?我们“看到它就知道它”——但一个人如何真正去创造它呢?我们是否有可能分离并阐明一组属性,我们可以用来判断我们的工作,以便我们对其进行批评和改进?如果可以,我们会用什么词来表达?鉴于我们在 Squarespace 非常注重好的设计,我们如何将美学与代码结合起来?
什么是“美丽系统”?何必费心?
我在 Squarespace 学到的是,技术美学是可以精确描述的,开发这种词汇来与同事讨论设计的优点可以带来更美观的系统,这会带来显著的实际好处。这些系统包括:
更易于使用、操作、维护和扩展
更持久,未来更具可扩展性
功能强大——以更低的复杂性解决更多用例
适应新要求
测试更简单
《人月神话》的作者 Fred Brooks也写了一本很棒的书,名为《设计的设计》。书中有一章讨论了他所谓的“技术美学”,并概述了如何识别逻辑上优美的系统。在这篇文章中,我将详细阐述这个想法,并向您展示优美系统的六个属性,并附上具体、可操作的提示和示例,以便您也可以在自己的工作中识别它们。同样的原则适用于每个级别,从人机界面一直到对象设计和方法签名。您应该掌握一套关于软件美学的精确词汇,并可以与同行分享,从而实现更好、更持久的设计。