我接觸程序的時間也不算長,也不算太短。從高一開始接觸Pascal,完全是為了競賽。只是最后這競賽也沒吃到什么好果子。高一下的時候有些經不住Win32窗口程序的誘惑,開始擺弄Delphi。但是無奈當時水平實在太差(連類和對象都分不清楚),肯定也就寫不出來什么像樣的程序。
高三開始學習C++,也是從 cout << "Hello World!" << endl 開始的。
所以許多年來,我一直都局限于程序自身,但是從來就沒有完整的沒有什么Bug的完成一款桌面程序。從Delphi,到C++Builder,到VB,到MFC,到WTL,到Python,莫不是如此。
究其原因是因為我一直以來就沒怎么深刻理解Windows消息機制,每次寫Win32程序都要對界面琢磨半天,可能還要搞大量的Prototype來證明方案的可行;寫完了又花費大把大把的時間去調試界面程序。而且又往往會在使用的時候才發現問題。
早先用Delphi的時候,我犯了一個極度愚蠢的錯誤,就是錯誤的把程序的界面框架當作了程序框架。換句話說,一個最明顯的情況也就是,把所有的代碼/邏輯都放在了EventHandler里面。這樣做的壞處不言而喻。稍微有點工程意識的,都知道這樣做是很不好的。邏輯按照邏輯,界面邏輯按照界面邏輯,這之間應當是松耦合的。
高三開始學習C++,也是從 cout << "Hello World!" << endl 開始的。
所以許多年來,我一直都局限于程序自身,但是從來就沒有完整的沒有什么Bug的完成一款桌面程序。從Delphi,到C++Builder,到VB,到MFC,到WTL,到Python,莫不是如此。
究其原因是因為我一直以來就沒怎么深刻理解Windows消息機制,每次寫Win32程序都要對界面琢磨半天,可能還要搞大量的Prototype來證明方案的可行;寫完了又花費大把大把的時間去調試界面程序。而且又往往會在使用的時候才發現問題。
早先用Delphi的時候,我犯了一個極度愚蠢的錯誤,就是錯誤的把程序的界面框架當作了程序框架。換句話說,一個最明顯的情況也就是,把所有的代碼/邏輯都放在了EventHandler里面。這樣做的壞處不言而喻。稍微有點工程意識的,都知道這樣做是很不好的。邏輯按照邏輯,界面邏輯按照界面邏輯,這之間應當是松耦合的。