随便写写,欢迎拍砖 ^_^
作为一个编码员的基本任务就是依据设计,从既定的输入得到既定的输出。
一个模块无论看起来有多么狰狞,对外界而言无非就是输入和输出,内部的操作应该是尽可能封闭的。
作为一个设计师的任务则是依据需求,划分出既定而明确的模块和各模块之间的关系。
------------------------分割线------------------------------------
致命的错误往往不会因为编码而产生,而是在设计时产生。
模块内部的编码,在既定的输入无法得到希望的输出时,一抓就能抓出来。这种错误,哪怕有成千上万,但无非也就是体力活,总能抓完。
那么真正对项目而言,可怕而致命的错误会发生在什么地方呢?在模块之间。如果模块与模块的状态、操作已经拧成了一团麻,那么在既定的最外层输入下(用户操作下),经由这团麻,最后的结果,谁能理清楚呢?
所以,当遇到这种致命错误的时候,异常现场的代码已经不是那么重要了,能修掉,补掉一些代码上的漏洞,但这团麻还是存在的。这种系统就好比定时炸弹,恶性肿瘤。今天这里,明天那里,在非洲改一句代码,北美就发生了一场风暴。
遇到这种系统时,重构和重新设计,才是根本之道。
------------------------华丽的分割线------------------------------------
最好的学校就是不断进行的学习本身。
最好的设计就是不断变化的设计本身。
------------------------传说的分割线------------------------------------
优秀的律法是为了划分田亩以使人安心耕种,而不是为了树立权威而使人无路可走。
感觉有些时候,经常能遇到一些制定律法的人,还不如几百年前的老祖宗!
------------------------寂寞的分割线------------------------------------
品三国,蜀汉部分记得最清楚的几句话:
“亮刑法峻急,自君子小人,咸怀怨叹。”
“能攻心则反侧自消,自古知兵非好战。不审视即宽严皆误,后来治蜀要深思。”
“入其朝,不闻正言,经其野,民皆菜色。”
嗟尔蜀汉,气数已尽!