如何设计软件?
2020/6/10
昨晚胡思乱想了几个小时,考虑了什么是软件, 怎样设计出优秀的软件。基于代码大全,建筑师的二十岁,谈谈我的感受。
一个优秀的软件,首先是美的优雅的,这种美往往体现在代码的严谨逻辑上,但我认为一个好的设计,一定是综合考虑了众多因素,包括物理上的合理性,文化上的兼容和差异性,还有类似于建筑学上的包含社会、历史、地理、气象、科学和社会科学等各方面因素。所以好的设计应当是需求 + 设计 + idea。以正合以奇胜,亦适用在这里。
同时,不应该忘记那些优秀的软件,因为他们往往是许多智慧的积淀产物。先去模仿,再去吸收精髓,再去创新。 现代软件,是将那些经典的技术当做垫脚石,再去设计创新出来的。
当地的历史文化,各种朝代更替,名人轶事,民族风情都可以。这类故事比较适合风景区、地州一类的商业步行街
项目,往往这种概念通俗易懂,比较容易被多方认可。当然故事不仅仅是文字,至少里面的文化要和你的规划能协
调起来。怎么办呢?其实很简单,找到这些民族、文化中特有的象征性的东西,点缀一两个在你的规划的节点上就
可以了。该做商业的还是做商业,该布广场的还是布广场。后来要求我们重做,想来想去,我们最终找了一个当
地的特色历史故事“大梁王朝”,以这个历史为脉络来做这个商业街,前后花了不到一周,其实原规划也没怎么改,
但是故事写的很好,后来汇报的时候业主很喜欢,最后大家都欢喜。
商业方面,甲方可能更多地会听你说故事,只有故事才是最打动人的。把故事说好,这是一件很考验技术的活儿。比如瑞幸咖啡,就是一个把故事说的极好的一家公司。
而成为一个优秀的设计者,架构师,你需要有强大的自我独断意识,发挥自主性以及在做决定时保持自我,充分自信和充满好奇心是很重要的一件事,不要相信别人,不要相信任何人。但这也同样需要极其敏锐的嗅觉去把握住客户的需求,要么天赋,要么积累。
同时,技术是重要的,并不是因为技术本身重要,而是技术赋予了你做决定的高度。用技术来改变世界的人才是真正的牛人,只有技术次多了。但只有先把技术练好,达到心到手到,信手拈来,才有资本去设计去创造。