欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

被自己寫的代碼蠢哭是一種什么樣的體驗

錢諍諍2年前16瀏覽0評論

被自己寫的代碼蠢哭是一種什么樣的體驗?

最近在給GacUI做1.0之前一個巨大的重構,其實就是因為被代碼丑哭了。其實這東西也不是我故意這么寫的,只是用C++寫GUI跟用XML寫GUI的結構的確不一樣(主要是各種組件的依賴方向是相反的)。GacUI剛開始的時候是沒有什么XML的,整個設計出來都是為了讓C++寫GUI方便,于是導致了現在XML生成的代碼一環套一環。現在要把類接口改成為了XML方便,C++寫GUI管他麻痹,反正也不是不能寫(逃

舉個例子,一個DataGrid的ItemTemplateFactory,其實就是which 實現了一個ListView的ItemTempateFactory,which 實現了一個SelectableList的ItemTemplateFactory,which 實現了一個List的ItemTemplateFactory。這里面用了無數次adaptor模式。

因為這幾個類是分開幾年寫的,所以單獨寫它們時候并不覺得有什么問題,現在回過頭一看覺得巨傻。所以最近做的事情就是,把ItemTemplateFactory的接口都刪掉,把依賴倒轉過來,讓ItemTemplate去依賴ListControl。那么一個DataGrid的ItemTemplate它就是ListControl的ItemTemplate,而不是Factory一層一層地往下adapt了。然后這些adaptor全部刪掉。

估計要改幾千行代碼了,不過為了干凈,GacUI又沒有死線,沒關系,慢慢改。既然有了XML,那所有的TemplateFactory都可以不要了,列表改完就改控件的,上百個類全部刪光,功能不變,XML寫好的GUI一行都不用改。做完這次大重構之后,就可以做簡單的2D和3D的矢量圖,再做幾個圖表控件,重做一次ParserGen,intellisense搞定,GacStudio的各項技術也就全部準備好了,最后拼起來,1.0就可以發布了!

只能贊嘆微軟設計WPF的人實在是太牛逼了,除去了一些C#特有的、不兼容C++的設計以外(如dependency property/routed event),凡是我做的跟WPF不一樣的,最后都證明是WPF那樣做更好。凡是我第一次做出來就覺得無比精妙、正確的設計,最后也只是跟WPF一樣(譬如說MenuItemTemplate如何跨控件對齊各個部分)。這幾年我給GacUI投入了大量的時間,親自體驗了各種架構設計上的優劣,感覺水平又上了一個檔次。我想做別的東西已經很久了,等什么時候GacUI做完了,換換口味,來寫幾年前寫廢了的DB。

Principal和Partner畢竟就是Principal和Partner,就算我代碼寫的再熟練,架構的知識也是要靠時間才能堆出來的,還得努力學習才能趕上他們。現在已經過了那種寫一個小工具,或者搞一個數據結構,或者代碼寫得巨優美就沾沾自喜的年紀了。每個人都有過一段中二的、覺得自己天下第一的時期。