今天参加RTC组的Code Review
全E文的,王剑和春晖的听懂没太大问题,但是Jay的有点困难,只能大概听懂一些片断,口语练习还大大有待加强
对于他们的Architecture没有了解,大致听懂了是在review王剑写的给Budapast项目做的管理节面的代码。C++实现,用Source Insight(好像是,挺方便的,我原来装过,不会用就删了)展示的代码,代码写的很规范,但又太多我不懂的东西。比如ATL,再比如MMC,是不是有一套API或者Framework那样的东西可以让程序员写出统一风格的管理界面(SQL Server Enterprise Manager/IIS/etc.)的咚咚啊?
中间看到了一个奇怪的函数ocscpy(…),是不是做ole对象的复制动作用的?
还有,比较强调trace的作用,王剑的代码中到处都是TRACE宏,他说根据trace来发现问题有时候比debug有效且快捷,而且trace信息在log方面也有作用。以后我的代码里也一定要注意加入trace信息。
最后,发现了他的代码可能可以改进的地方。就是在一个函数里用了不少goto,其实按照程序逻辑,没必要用的,因为在一些条件符合时直接退出函数足够了,但是用了goto调到函数唯一的出口退出,为什么呢?在这里,我看出还是为了trace,就是说退出函数时,要记录统一的trace信息,其实那个函数出口没有什么的处理,只有一个TRACE宏而已。想到以前于忠民曾问我一个金山面试时考他的问题,就是类似的要求统一的函数出口,我当时就答goto,他说他答宏,但标准答案是靠类作用域结束时其析构函数的自动调用过程来实现。我后来想来也是,这样的方式其实最好。所以,我觉得王剑大人的代码至少这一点可以改进一点吧,呵呵,愚见啊愚见。
不知道C#里对析构或者说Dispose方法的处理有什么细节要注意没有?时效性有没有限制,如果把昨天的SqlConnection的关闭放到析构(Dispose方法)中会不会有什么不好效果。非要等到垃圾回收时才能释放吗?其实现在发现,我对Java/C#这样的有垃圾回收机制的语言,理解还远远不够,讨论才到这个层次,我就在对一些东西持不肯定和怀疑态度了,有必要找点GC理论方面的东东补补课了
今天16:30 ~ 18:00的winedown挺好玩的,就是人多了点,去的时候都没位了。嘻嘻,和两个PPMM去参加,估计在场有不少男士眼红死了。后来又和一个PP的MM比较熟识了,hohoho,当前在MS实习的PPMM我都快认识光了吧,hohoho,自己都把自己美死了
嗯,其实偶还是一个很老实的男性青年,和PPMM在一起都没有啥非分之想,只是当好朋友看待而已,看来我是真的被恋爱搞怕了吧