美文网首页技匠志行距版权时差党
程序员也该懂得“这样就好”

程序员也该懂得“这样就好”

作者: 技匠 | 来源:发表于2016-12-21 06:37 被阅读5179次

今年我又先后两次去到日本,其实,日本给我留下的最深刻映像并非大家常常挂在嘴边的干净、空气好、礼貌周到的服务等等,而是那些无处不在的设计体现。产品的包装、一块指路牌、路边小食店的招牌、行人们的衣着,虽然它们的形质、用途各不相同,却总能给人以简朴、精致、人性且颇具内涵的舒适感觉。我想可能正是这些由小及大、无处不在的美才培育出了今天这个相对成熟的日本社会吧。


说到设计,我曾读过一些日本设计师的书,田中一光的《设计的觉醒》,黑川雅之的《设计与死》,原研哉的《为什么设计》、《设计中的设计》、《白》等等。这些日本设计大师所提出并不断被继承的极简、去修饰、设计的功能性等理念都深深印刻在了当代的日本设计之中。而其中让我最受启发的,却是他们用最直白语言告诉我们的“这样就好”。

今天,作为一名程序员,当我在进行系统设计时,也时常会提醒自己:“是不是这样做就好了呢?如果没有必要,我们就不需要增加这个附加功能了”。也正是在“这样就好”的指引下,我对如何正确地进行程序设计似乎有了更深入的理解。

记得那还是我在担任架构师期间,曾负责对公司的一个IT项目进行评审。评审中,项目经理在她所作的报告中,将最大的篇幅留给了系统支持个性化这个特性,还眉飞色舞地将系统可以任意变更颜色主题这个功能强调了一番。我当时就想,这位项目经理一定没能理解用户的真正需求与痛点吧,而这个系统除了可以换颜色之外,估计也不会有什么亮点了。

从程序员一路走来,我们中有多少人都曾热衷于系统功能的大而全,那些可有可无的配置功能,以及仅仅作为修饰的个性化定制。虽然这些功能都似乎能为我们的产品增光添彩,但它们真的是用户最需要的吗?如果让我们回到过去,我们还会坚持付出那些代价去实现这些功能吗?

优秀的系统绝不可能凭空产生,它也没有一个统一的标准,而“这样就好”却能指导我们这些系统设计者,在众多选择中作出平衡与取舍。该使用什么样的架构,采用哪种技术,在这个功能中使用什么设计模式,采用何种缓存策略等等,这些都需要我们根据当时的环境、资源、用户等要素做出恰当的选择。与其提供很多功能而最终用户却始终觉得不好用,倒不如做好一个能真正帮助用户解决问题的功能,让用户觉得,“嗯,这样就挺好”,然后再进一步,“如果能...就会更好了”,这样一步一步做出理想的产品来。

而下面这些则是我们在系统设计与开发时应该尽可能避免的问题:

  • 不盲目使用新技术:新技术意味着风险和不确定的代价(多因修补未知缺陷引起),因此我所在的金融行业里,很少会选择那些新生技术(1年内),而更倾向于选择成熟且稳定发展中的技术或框架。
  • 避免过度设计:过度设计源于系统设计者没有理解用户的真正需求,而将自认为有必要的功能附加于系统之上。而前面提到的可配置、个性化等就是那些最典型的例子。要避免过度设计其实也很简单,要做到多看(看那些优秀的系统是如何设计类似功能的),多想(站在用户的角度去想他们所提需求背后真正的痛点和问题是什么),多做(不要只停留在需求文档上,尽可能快地做出能够验证需求的功能原型,然后与用户不断确认和改进),多说(在每一个阶段都与用户保持持续有效的沟通)。
  • 不在项目中技术镀金:技术镀金指的是开发人员在项目开发中过于追求技术的完美性,试图在技术上镀上一层完美的金壳,导致软件开发工作量加大,项目时间拉长,而最终有可能导致整个项目的失败。我们不应该否定程序员追求完美的自我要求,但应该在项目中引导他们正确地理解“这样就好”的理念,帮助他们平衡追求完美与项目现实要求之间的关系,从而作出最恰当的技术方案选择。

最后我想说,即使你已经很好地理解了“这样就好”,并能提出更合理的系统设计,但结果却还是很有可能会遭到否定。因为,你所需要面对的或许是那些不那么成熟的项目经理、盲目自大的产品经理以及完全没有产品思维的业务用户,而在他们眼中那些糖衣炮弹(系统的附加功能)总是有着非同一般的吸引力。你可以尝试着去说服他们,但即使失败,你也不用为此感到沮丧,因为时间会证明你是正确的,而在你内心中也应该知道,自己正变得更加成熟,并且已经站到了更高处。

相关文章

  • 程序员也该懂得“这样就好”

    今年我又先后两次去到日本,其实,日本给我留下的最深刻映像并非大家常常挂在嘴边的干净、空气好、礼貌周到的服务等等,而...

  • 懂得就好

    世间纷杂

  • 《懂得就好》

    我们都只是一个孩子,何必哭的太大声,我们还不懂得爱自己的时候,却先学会了爱别人,我们还不懂的保护自己的时候,却先保...

  • 懂得就好

    随着年龄的增长,就知道有些事越想要说就越要隐藏心底,因为说出来也不会有人懂,只有自己明白,自己的开心自己的幸福只有...

  • 懂得就好

    读不懂云的眼泪 也听不见风的耳语 角落里的阴霾 只多不少 你可以质疑的幸福 永远都是未知明天 而你所懂得的幸福 永...

  • 懂得珍惜就好

    最近,一部新的电影火遍了大半个中国,没错就是——前任三。 然而,每个人看完后的的收获和感受都不尽相同,有人...

  • 自己懂得就好

    很希望自己的生活过得单纯, 没有很多的碎念,性情温和,与人为善。 靡不有初,鲜克有终 意为:人和人之间的交往都是美...

  • 生活的所得,需要你去创造

    生活的故事,总有各种需要自己去把握的事情,有时候我们自己要懂得自己该如何去做,也得懂得生活索取的到底是什么,这样才...

  • 不是陌生人

    再见不是陌生人却也是客客气气的了,没有一丝丝涟漪,再也翻不了浪花,就是这样就好,不远也不近刚刚好就好,想念霍霍,该...

  • 你和硅谷顶级程序员差的是这5点!

    程序员和程序员之间也会有区别,就好像学生之间也会有学渣、学霸之别,编程之间也各有优异。 为什么别人可以做得更好?最...

网友评论

  • 追那个小女孩:过度设计,这一点严重同意,很多程序深陷焦油池就是因为过度设计,大多数程序员为了体现自己的专业能力,做一个小需求都整一大堆设计模式进来,这样只会让后续维护的人欲哭无泪。
  • 码工人生:嗯很好
  • c0b4b02ba387:技匠前辈,我想问一下,我现在在迷茫到底选择Java还是单片机还是嵌入式 说兴趣吧 对这三个都不差 我应该如何选择我将来的道路?
    技匠:@IFyouLMe 如果真的兴趣差不多的话,我的建议是java,基于我们将进入一个全新的算法时代,而java能够在更多领域创造可能:smile:
  • 木景蔓:赞同,应该首要满足用户需求而不是自己华丽,所以产品经理的需求等级划分尤其重要
  • 简书男孩:说的好啊,赞一个
  • 太帅了:我看到第一张图,禁止自行车停放的牌子下面停了很多自行车 :joy:
    magicsong:你确定会日语?:joy:
  • 4170b8fb491d:深有感触
  • 倾剑飞血:这就像是产品设计一直强调做减法一样,技术同样需要做减法。去逛无印良品和优衣库的时候无不被日本的简约美而折服。很多数学家和物理学家就说过,一个公式一定是简单的,如果非常复杂,一定就是弄错了。
  • 灿烂的黑土:111111111111111111
  • dfe147f4a102:可惜不是程序员决定的,现在甲方动不动就要做个淘宝,qq
    dfe147f4a102:@幺叔 客户都不知道自己需要什么 但公司为了生存也是要接的 最后搞出来的东西大家都不满意
    倾剑飞血:@_v君 我朋友也做外包,每天面对各式各样的需求,他自己开发了一个基于react native的自动化app生成平台和自动化测试平台,可以根据需求简单的定制app,如果你把软件开发想成立体的,有时真的可以把复杂的问题变得简单,就看你的能力如何
    幺加幺:@_v君 我也遇到过,被问做个类似淘宝专门卖蔬菜的平台要多久 :joy: :joy: :joy:
  • ac7ff7c5ab73:若无必要,勿增实体。 OCCUM'S RAZOR
  • 贝克曼:其实很多东西都是被逐步扭曲的,比如报价,需要按照工作量来报价,而工作量肯定要和功能点挂钩,于是乎,功能越来越多,产品越来越复杂,也越来越偏离初衷了
  • 經年雨安:这样就好,饭吃七分饱,极简主义“less is more ”都是类似的值得我们借鉴的哲学命题,指导生活。
  • 392340e1fa2e:说都好。。但是这样就好 的范围比较大,这种自我标准 需要时间与经验来积累。
  • 老衲一禅:程序的初衷在于给用户带来更好的体验和操作性能,而不是设计的美和全,带来的雍长和笨重,主编说的很对,大赞!!!
    老衲一禅:@蚂蚱Damon 算是吧
    蚂蚱Damon:@在下沈先森 头像是本人?

本文标题:程序员也该懂得“这样就好”

本文链接:https://www.haomeiwen.com/subject/cbvwsttx.html