posts - 94, comments - 250, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

以前是一个人闷头写代码。工作久了,发现同行们的代码基本都不能看,当然不少还来自大公司。因此大公司的代码也基本不能看。在学校里就听说过许多同学的憧憬,要进什么大公司学技术,现在看来真是好笑,能学到才怪呢。
游戏行业我还蛮清楚,暴雪不知道,反正一直很崇拜,代码应该牛逼,看招聘就能看出来,不懂游戏的别来这里玩。牛逼。
其他公司,包括所有的日本公司+中国公司代码都不堪入目。

1.首先我觉得写代码之前要了解自己,所为有所为,有所不为,并不是所有优雅的东西都是每个人都能写出来的。如果人人都能写出美的东西,那也不能称之为美了,大便之所以不香是因为你随便就能得到。因此有时候一味去追求好的设计,无异于搬起石头砸自己脚。游戏行业更是这样,面对纷繁复杂的需求,需要对自己有清醒的认识。

2.技术上,一定要了解计算机,二进制编码系统。居然很多计算机系出身的人不懂汇编与现代计算机体系结构,这基本上跟文盲没什么太大区别了。(这里插一句,C++的内存模型大多数也不知道。迭代器的++iter;iter++ 90%程序不知道区别。如果你看了也不知道,你每天要多花3-5个小时补课了。)

3.C++语言各个特性对设计的影响。我见过很多C过来的牛逼程序员,当然更多的是垃圾程序员,懂了继承以后就到处继承,懂了多态不得了了,全是多态,懂了模板,程序基本就不能看了。当然C++也有很多我不满意的设计,比如很多语法正确语义不当的东西,一定程度上也造成程序的可读性不高。

4.数据结构,算法。再快的计算机也禁不起杀手们的调教,我见过内存杀手,显卡杀手,CPU杀手,你不是卡马克,你的杀戮行动不会推动计算机进步,只能使你的程序慢的象蜗牛。数据结构和算法懂太多也不为过,别以为有了stl,有了boost就万事大吉了,记住:没有银弹。

以下说一些设计上的东西。大部分人不用看了,因为看了你们也不懂。
1.项目相关人员应该在项目初期共同制定好口头词汇,项目概念,指定规范的行业概念,特别是游戏行业,我觉得规范特别缺乏,因为大家觉得反正迟早要改,所以不如无规范。这个观念是十分错误的。我认为无论项目有多紧张,规范都是首位的,没有的后果就是项目一直紧张,最后Cancel。(插一句:我认为中国游戏策划是最傻逼的职业之一,如果你不是为了混口饭吃,而是理想要做一名策划的话,我劝你赶紧回头是岸。)

2.模块的划分很重要,便于你考虑每个模块的参与人数和数量分配。并不是一切都要模块化,刚才说了,不要懂了个模块就开始天天模块了。这点我非常同意云风的话,设计所谓框架是最最最不靠谱的事情,当然一开始就设计模块也是很呆的,除非你是本杰恩,否则不推荐,为了抽象的抽象只是让你离真实更远,记住“kiss”法则。好的程序不应该比我们说话还拗口。

3.最重要的!良好的接口所有的特征审核表,把他贴在你计算机任何一个醒目的地方吧
a.功能的正交分解
b.最小化的接口
c.最明确的函数调用语义(注意是语义,不是语法,所以收回你那些狗屁不通的接口吧)
d.最适合出错检查机制(象c++爸爸说的,我写第一句代码时就想到该如何调试了)

4.不要过分痴迷于接口,多写点用户代码,多体验一下用户。别写“公务员”式的接口,很多脑残设计用都没法用。

5.不要吝惜笔墨来描写代码描述及文档,微软为什么牛逼,看看多少人在写msdn文档就知道了。

6.尽量引诱那些愿意使代码高质量的程序员参与进来。很幸运的是我手下有一个。

7.精益求精,如果你把写不仅仅把写代码当作谋生工具的话,我觉得你应该付出多一点。就算他只是你吃饭的本钱,我也觉得你应该有点职业精神。程序员这个行业很特殊,代码臭并不一定很显然,不象外科医生开的刀痕,机械工人做的零件。所以很多东西要靠自己审视。

Feedback

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-08 17:25 by Sunshine Alike
好像这些离我还比较远,看不太懂。
如果想进入游戏行业,能否给点意见?

# re: [转载]关于C++,我觉得好的设计法则[未登录]  回复  更多评论   

2009-08-08 18:12 by megax
这篇转载的文章,挺垃圾的.净说些不痛不痒的,猛一看挺牛,其实一点水准都没有.感觉像吹牛逼.
就像一个泥水匠在反复的研究砌砖的方法,瞧不起那些刚学会砌砖的人.其实它也只是一个泥水匠而已.
嘿嘿,一定有人不认同我的观点. 多年以后吧....

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-08 22:01 by spider
语气过了,但是问题发现的对,中国 90% 以上的程序员都在写垃圾代码。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-08 22:15 by hsen
不要以为别人都是垃圾,在特定的环境下这样的结果往往是最佳结果,你自己都说了没有最美的东西的,所以结果也没有最完美的,

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-09 10:12 by 戴尔笔记本
不错哦

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-09 13:36 by xiaomai
这篇转载的文章,挺垃圾的.净说些不痛不痒的,猛一看挺牛,其实一点水准都没有.感觉像吹牛逼.
就像一个泥水匠在反复的研究砌砖的方法,瞧不起那些刚学会砌砖的人.其实它也只是一个泥水匠而已.
嘿嘿,一定有人不认同我的观点. 多年以后吧....

很认同这位大哥说的,你只不过也是以恶搞泥水匠而已。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-09 14:19 by 松岛枫
哪里转载的,真想去抽作者。。
大牛一般不这么说话。。。。。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-09 14:57 by 淋雨
同抽

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-09 17:27 by 李现民
我发现在cppblog上开博的有很多都是做游戏的, 感觉这从侧面反应了现在游戏占了c++程序员的很大一部分啊

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-10 09:07 by LOGOS
@淋雨
同抽 +1
第一次看到都不屑回复
不过那么多人抽,我也抽

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-10 09:10 by Condor
@松岛枫
@淋雨
@LOGOS
国内的现状如此,这文章是国内一做GL的牛牛写的。

# re: [转载]关于C++,我觉得好的设计法则[未登录]  回复  更多评论   

2009-08-10 09:17 by 漂舟
抽什么抽,
说的很多是很在理的,
但是关于设计原则,
可直接看KISS原则,很全面。
不理解,是因为站得比作者低,
看不到他的视点。

# re: [转载]关于C++,我觉得好的设计法则[未登录]  回复  更多评论   

2009-08-10 09:56 by true
不知道说什么好,感觉还是把现实情况理想化了。况且人各有志。。。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-10 12:13 by forgot
物以类聚,人以群分

天天跟垃圾在一块,看到的肯定都是垃圾代码

# re: [转载]关于C++,我觉得好的设计法则[未登录]  回复  更多评论   

2009-08-10 18:04 by 欲三更
到底iter++和++iter有什么区别呢?
除了重载的操作符参数类型不一样以外。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-10 20:17 by CY
那位能解释这一句的原因:
“我认为中国游戏策划是最傻逼的职业之一,如果你不是为了混口饭吃,而是理想要做一名策划的话,我劝你赶紧回头是岸。”

谢谢~

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-11 20:30 by mengmeng
大牛人都这么说话的吗。我觉得说的不怎么好。看不起别人。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-11 22:34 by ucfree
反正我只看过华为的代码 规范和代码的可读性都相当好
本人还是C++入门级 今年本科毕业 之前只懂Linux C
“所有的日本公司+中国公司代码都不堪入目”这句话太偏激了吧
井底之蛙就别以为自己多NB了 低调低调

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-13 09:02 by Raymond
博主转帖这篇文章才叫真正的话糙理不糙,虽然作者语气较狂妄,但说的话句句都是无数经验教训的积累。
这里的评论果然如作者所言,“大部分人不用看了,因为看了你们也不懂。”

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-08-26 15:58 by Ping
@欲三更


后置多了一个临时变量

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2009-10-09 09:25 by G_cofa
呵呵,很好。

# re: [转载]关于C++,我觉得好的设计法则  回复  更多评论   

2010-04-03 15:10 by 溪流
我觉得挺有道理的呀。。。为什么前面好几个说抽呢?

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理