#axb的自我修养#
继续昨天代码review的话题,
我说很多代码没有“设计感”,那么究竟什么是“设计感”?
如果把代码设计类比成家装设计,那么一个经过良好设计的家里应该是外形美观,分区明确,适合长期居住的。
为什么设计能带来这些收益?我认为核心在于约束,设计师约束了室内的色彩搭配,约束了家具摆放的位置,或者可以约束别的什么东西,因为有约束存在,才避免了混乱的进一步扩大。
很多烂代码就像是一个没有经过任何约束的房子:每件东西被随意的被装修工人扔在他(而不是业主)最顺手的位置,整个屋子就像是熵增宇宙的发展一样迅速的变回混沌状态。
我认为这是个普通到不能再普通的道理了,但是让我想不到的是,被我喷代码垃圾之后,有很多人还会跟我解释这个代码是可以正确运行的。
这在我看来就像是厨房里装了个马桶,然后设计师过来跟我说:
装马桶需要上下水,你看厨房里刚好就有,是不是?
装马桶还需要一定空间,你看你家厨房里刚好也有,是不是?
我说很多代码没有“设计感”,那么究竟什么是“设计感”?
如果把代码设计类比成家装设计,那么一个经过良好设计的家里应该是外形美观,分区明确,适合长期居住的。
为什么设计能带来这些收益?我认为核心在于约束,设计师约束了室内的色彩搭配,约束了家具摆放的位置,或者可以约束别的什么东西,因为有约束存在,才避免了混乱的进一步扩大。
很多烂代码就像是一个没有经过任何约束的房子:每件东西被随意的被装修工人扔在他(而不是业主)最顺手的位置,整个屋子就像是熵增宇宙的发展一样迅速的变回混沌状态。
我认为这是个普通到不能再普通的道理了,但是让我想不到的是,被我喷代码垃圾之后,有很多人还会跟我解释这个代码是可以正确运行的。
这在我看来就像是厨房里装了个马桶,然后设计师过来跟我说:
装马桶需要上下水,你看厨房里刚好就有,是不是?
装马桶还需要一定空间,你看你家厨房里刚好也有,是不是?