首页 >

被自己写的代码蠢哭是一种什么样的体验 – CSS – 前端,css如何设置文字竖排

css 绝对定位 水平居中,em i css,css text 去除焦点,记步环形图css,css实现跳转文字,css div中元素自动换行,css如何设置文字竖排被自己写的代码蠢哭是一种什么样的体验 - CSS - 前端,css如何设置文字竖排

最近在给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,就算偶代码写的再熟练,架构的知识也是要靠时间才能堆出来的,还得努力学习才能赶上他们。现在已经过了那种写一个小工具,或者搞一个数据结构,或者代码写得巨优美就沾沾自喜的年纪了。每个人都有过一段中二的、觉得自己天下第一的时期。


被自己写的代码蠢哭是一种什么样的体验 - CSS - 前端,css如何设置文字竖排
  • 怎么能从失恋的阴影中走出来 - CSS - 前端,js 控制css keyframe
  • 怎么能从失恋的阴影中走出来 - CSS - 前端,js 控制css keyframe | 怎么能从失恋的阴影中走出来 - CSS - 前端,js 控制css keyframe ...

    被自己写的代码蠢哭是一种什么样的体验 - CSS - 前端,css如何设置文字竖排
  • vs的常用控件都是什么意思 - CSS - 前端,css 手机select样式
  • vs的常用控件都是什么意思 - CSS - 前端,css 手机select样式 | vs的常用控件都是什么意思 - CSS - 前端,css 手机select样式 ...

    被自己写的代码蠢哭是一种什么样的体验 - CSS - 前端,css如何设置文字竖排
  • web相对路径是啥 - CSS - 前端,css p之间的间距
  • web相对路径是啥 - CSS - 前端,css p之间的间距 | web相对路径是啥 - CSS - 前端,css p之间的间距 ...