<aside> 💡 无意间想到了这个话题,随着工作阅历的增多,每个人或多或少都有些“技术品味”,但“品味”这个词能囊括的东西很多,暂且从技术审美角度,写写自己的一些见解。想来这应该是个可持续更新的话题,就以系列撰文了

</aside>

原则1:简洁优先

不论是从产品设计角度还是编码层面,一个功能应该尽可能简化,我觉得这是一切审美的前提。相关论述也有很多,产品原型MVP设计,最小编程单元,皆是。

在程序实现的时候,我们需要尽可能简洁。有时候这听起来好像跟拓展性是冲突的,但以我的经验来看,这其中重要的还是区分你理解的”可拓展“是不是真正意义上的可拓展。对这一问题的探究也就涉及到一个老生常谈的问题,”如何避免做过度设计“

避免过度设计

这应该是个比较有争议的话题,因为每个人对”过度“的理解不太一样。以我个人经验来讲,要想避免过度设计,前提是一定要做好”内聚“,听起来是风马牛不相及。但只有做好了内聚,慢慢你才会理解你所谓的设计是不是过度,自然而然就会明晰起来,你在内聚的过程中也正好是你理解需求和最小化设计的过程。

最小化内聚

这是我体会最深的一点,类似于面向对象设计中的函数封装,只有你真正让其干”自己该干的事“,很多函数、对象之间的关系就会越发明了。更上一层的关系也会变得越发清晰。

门面的作用

我想如果做UI比较多的话,其实日常开发中常见的一些功能都可以封装成工具方法或者模板方法,以供复用,并且UI是个变动比较多的地方,我们可以通过门面模式,将需要经常变动的聚集于某一个门面类里面统一管理,表面上看有些代码丑陋,长从人效上来说非常值得一试