探讨设计的本质
设计本身是一件很有哲学和讲究艺术的事情。当我从刚开始只会copy代码的小白到资深的开发,我慢慢觉得思考的时间大于写代码的时间。思考什么,思考代码的艺术,架构的艺术,设计数据结构的艺术。
艺术本身是具有美感的,艺术品的每一个细节都值得考究和深究,设计本身是需要具备“美感”。一行隔一山,虽然你不懂技术,但是你知道美的定义。就好像你欣赏一幅伟大的作品一样,我们技术开发也在用审美的角度审视自己的设计。所以,请问你的技术“美”吗?
潮流和时尚往往蕴含艺术的特质,但是高端的时尚艺术往往不被大众接受,设计师用超前的眼光看待生活,表达意境,但是平凡的人类是无法理解他的高度。所以很多服装设计师为了可以让大众也能享受艺术。他让时尚的元素会更贴近生活,我觉得让我无法理解的艺术都不是艺术。作为程序员的设计,也应该如此。设计需要让人很好理解,代码需要很好的可读性。若非如此,你的所谓高端的设计,只是自我陶醉,自我炫技。
什么是大师,高手?经常在电视剧里看到的高手是,只需弹指之间,敌人就已经倒下,然后挥挥衣袖,潇洒离去。不要轻易向大师发起挑战,你可能会成为一个笑话。你跟大师的对局中,你用尽毕生武学,在大师面前,群魔乱舞般挥舞剑招,大师拿起手枪把你一枪爆头KO。你可笑,大师可畏。也许你看到了大师的“美”感,简单,高效,精准。在软件设计中,简单很重要,菜鸟的设计会显得杂乱无章,错综复杂,毫无美感。我们追求的美感是简单,用最简单的设计解决很复杂的问题。简单意味着,你的设计可以随时替换,你的功能弹性很足,你的代码足够简单,你的架构很容易理解,并且不会出错。我可能是菜鸟,因为我用了很长的篇幅向你解释了“美”即 “简单”。
“人永远赚不到认知以外的钱”,人需要提高认知。游历过千山万水的书生,跟偏安于一隅的教书先生,谁更有见识,我们都清楚。也经常有人跟我说过,你写不出好的代码,是因为你没见过漂亮的代码,你设计不出“美”的架构,是因为你没见过“美”的架构长什么样。如果你见过,你再回头看看自己的设计,我相信你会露出厌恶的表情,心里嘀咕,原来我的设计粗鄙,丑陋。
菜鸟,只会照搬历史的学习案例,忽悠业务,企图用历史的案例,简单修改,最后生搬硬套到现有的场景。优秀的开发,他的思路是发散的,思维是广阔的,善于学习新的优秀案例,拥有丰富的最佳实践。菜鸟和大师的最大区别就是认知的层次。希望菜鸟们能学习优秀的案例补充进自己的数据库。
孔子说:“知之为知之,不知为不知,是知也。”作为软件开发人员,也需要秉持这种理念,在讨论技术的时候,你才会用更加谨慎的态度。在你不熟知的领域,需要谦虚的低头请教,抱着学习的心态,并拥抱bug和设计不足,这是最快的成长方式。
To Be Continue…(下周更)