DarkSpy blog - DarkSpy 的部落格.

首页 | 默认分类 | 程序 | 杂烩 | 荣神益人 | 全部
+ Calendar +
<<上月2010 年 9 月下月>>
   1234
567891011
12131415161718
19202122232425
2627282930  

+ Latest Entries +
· 新版 blog (2010-3-9)
· python 2.5.5 (2010-3-6)
· python 的 bug? (2010-3-5)
· 要抽象 (2010-3-2)
· 健壮简单的程序 (2010-2-25)
· R Project (2010-2-23)
· GCC宣布对Google Go语言的支持 (2010-2-21)
· 交鬼与赶鬼 (2010-2-21)
· 迎什么财神? (2010-2-18)
· Fabrice Bellard打破圆周率小数点位数 (2010-2-11)

+ Latest Replies +
+ Search +
+ Links +
+ Profile +
博客主人: DarkSpy
共有记录: 300
共有回复: 220
访问人次: 30081
点击查看我的个人信息








要抽象
程序组组长向我抱怨说下属的代码抽取困难,修改困难,“牵一发而动全身”,或许从我学C++开始,就一直在写类库和摸索“复用”的代码,所以我很难想象C++程序员写的代码居然变成了“奶粉结块”。

C++的代码复用是很好做的,抽象要从思想开始,一段好的C++类,是应该可以任意被取出来作其它用途的,最低限度只需要修改其中几个函数名或者参数即可。

我曾经做过的项目中,有使用了一年多都未曾修改过最底层C++抽象类的,但由于后期游戏需求变化巨大,最后也只是上层 class 修改了参数数量和参数内容而已,这样说并不代表我写代码有多厉害,而是想说,好的 C++ 代码就是应该被重复使用的,哪怕所谓的“推倒重来”,都应该是可以将以往的 class 任意组装,随意修改,增加的;STL 是很好的范例,它是优美C++代码的典范。

C 语言也未尝不能做到,只是所耗费的脑细胞比C++多几倍而已,从我个人角度讲,C++语法要尽量简单,若实在无法简单,就争取用脚本完成,还是无法简单的情况下,才使用高阶C++语法,如 RTTI 的使用,template 高阶使用,事实上,除非做类库,很多C++语法基本上在项目中都无法使用到。BTW,C++ 0x 标准的 template concept 关键字已经被标准委员会取消了,很多人为之可惜,但是我觉得这是一个很好的消息,C++不应该再增加更多的关键字,我的想法和stroustrup一样,增加类库,而非新的 keywords,我想,标准委员会也是出于对学习新语法的成本和C++更新换代所需要付出的代价做权衡才做出这样的决定的吧。

话转过来讲,另一方面,一个好的公司,除了给人做项目的时间外,还应该给人以休息,学习的时间,这样,程序员才不会迷失在“完成功能就好”的森林当中,当一个程序员对代码充满兴趣的时候,好的领导者应当给予其推动力,让员工在学习的过程中,享受兴趣就是工作的那一份快乐。

学会抽象,是一个好的程序员应有的素质。
DarkSpy 2010年3月2日07:08星期二 | 发表评论(3)

Jjin在2010年3月7日10:11星期日评论:
在开发前,我们定义了一份编码规范,让每个人在写代码之前阅读这份规范.但实际写代码的时候,总是有成员不遵守,说了几次还是或多或少不按规范来写代码. 大家都是成年人,多说无益,甚至会搞疆同事之间的关系.大家总以为这是不重要的,但良好的编码习惯真的可以受益终身.

mm在2010年3月6日20:29星期六评论:
作为一个团队,不能每个写出来的代码的规范不一致,如:代码风格,变量的取名规则,注释等;
如果不一致,在后期修改会很困难,甚至自己写的代码别人没有办法修改;维护成本大大增加;暴露出了文档规范的重要性;

Jjin在2010年3月2日19:14星期二评论:
并不是所有的人都会抽象的,抽象也是功底,要在过程中慢慢积累。同时,在团队开发中,团队的统一架构非常重要。像现在这样,每个人都可以随意的添加消息包,修改消息,只管自己的需求实现,而不考虑整体架构的统一,现在的项目就是一座危楼。团队成员的水平参次不齐也是一方面,有些东西不是所有层次的程序都可以理解的。这时候,一个项目经理的水平就体现出来了。

称呼:

评论:

验证码: 请输入 2373

 


©All Rights Reserved | Get RSS Feed (Version 1.0)