本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9693600
建立时间:2004年12月20日




[编程感想]我的编码手册 
原创空间,  软件技术,  电脑与网络

邢红瑞 发表于 2006/4/13 11:24:28

看到很多牛人,说别人的代码风格如何如何,我也打算说两句。    1 代码缩进     说到这个问题,缩进使用tab还是空格,是没有事情可干。早在visual studuio6时代,也就是9年前,vc6就提供了代码格式化功能,java的主流IDE都有代码格式化功能,你觉得他的代码不好,有抱怨的时间,早就format好了,一个程序员连自己的IDE能干什末都不知道,恐怕说不过去了。如果你觉得大家代码不统一,都安装checkStyle,这样代码规范基本一致。     下面说出java主流IDE提供的功能(重构部分除外),支持未声明类的import,生成构造函数,生成get/set方法,代码块的注释和解除注释,不用你一行一行的写“//”。不过你要是python程序员就麻烦一些,python的缩进是代码的一部分。   2 变量的命名     vc程序员最好使用匈牙利命名法,java程序员不要使用,你要遵循javabean的规范,类的首字母大写,方法名的首字母小写,因为你的类可能要被java的反射机制调用,到时候找不到就麻烦了。我一直使用idea Introduce Variable,觉得也没有什末。   3 程序的注释     程序最好只写必要的注释,不要写的过多,那样会耽误别人看注释的时间,方法名最好让人判断出要干什末,一个方法内代码不要超过20行,(详见我得bloghttp://www.w3china.org/blog/more.asp?name=hongrui&id=8479)。最好最后再补注释,因为一开始代码和注释一块写,如果项目紧,很可能只修该代码,不改注释,后人阅读会产生驴唇不对马嘴的问题。    4 基本的编程约定      关于约定我不知道是不是程序员中的潜规则,这是我以前我在贝尔面试的一个问题,     请写出 BOOL flag 与“零值”比较的 if 语句:     我写的 if(a==true)            {             }     结果答案是            if(a)            {             }     后来得知这是林锐那本《高质量C++/C 编程指南》的题目,据我所知,c++实际提供了布尔类型的值,这就是程序员中奇技淫巧。     编写strcpy函数(10分)      已知strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc);      其中strDest是目的字符串,strSrc是源字符串。     (1)不调用C++/C的字符串库函数,请编写函数 strcpy     (2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?     注意写不出这样的代码不是致命的,用strcpy不用strncpy可能会要你的程序的小命,产生缓冲区溢出。建议你最好编写安全的代码,这比什末都重要。    而且最好使用开源而且跨平台的类库,例如c++ STL,java的JSTL ,不要另辟蹊径,这样利于移植,而且这样的代码经过了考验,比你写的代码稳定的多。    印度人常写这样的代码,有两个bool变量,a为true,b为false,a是false,b为true。    if(a==true)     b=false;    else     b=true;     我看了之后,笑了半天,一句b=!a;不就ok了吗?     更有甚者,a,b两个整型,如果a为1,b为0,否则b就是99     印度阿三的代码     if(a==1)       b=0     else       b=99;     我告诉他, b= (a==1)? 0 :99;可怜的这个红头阿三不知道java还有3元运算符。当时就是这帮人按时高质量的完成了我们的任务,这很值得中国软件的反思,我们细节很强,但是没有大局观,这里细节决定不了成败。


阅读全文(5806) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144768482 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号