代码的规范性总结
2004-11-26 18:20
477 查看
1。几乎没有注释。
这种代码也许是写得特好。当然更多可能是更烂。
2。文档有些地方和实际代码有出入。
那是文档的问题。
3。操作数据库部分的代码和其它代码没有分离,几乎是混在整个程序里面的,如果要使用其它的数据库……只能重写。
所谓的“没有分离”指的是什么?如果要换数据库就要重写,说明写得的确是烂。如果数据表结构有点变化就要大量修改,偶以为正常。以偶的经验来看,数据表结构是整个系统中藕合度最高的部份,而且偶至今没有找到合适的方法降低,很希望有人教偶。
4。大量的使用了“#define EXAMPLE string("example")”这样的宏,造成运行时的效率低下。
说明写程序的人对C++还不是很了解。
5。作为基类的类,没有虚析构函数。
同上。
6。将string类的“==”和“compare”方法用混了。
说明写程序的人对STL还不是很了解。
7。很多new语句后面,没有检查是否分配成功。
这点比较疑惑。《Effective C++》的确说了要注意new分配不成功的情况。但各位大虾真的是对每一个new语句都检查一遍吗?很想请教一下代码是怎么写的。还有,这仅仅是在C++中的情况。各位在写Java或C#程序时每次new以后也都检查一遍吗?
8。带有指针的类,没有复制构造函数,同时也没有显式的禁止复制对象。
同4。
9。很多地方将基类的指针强制转换为派生类的指针。
这种情况并不见得是错,如果派生类确实拥有基类所没有的属性和方法的话。并不是什么时候都要用适配器模式的。
10。该使用const的地方,都没有。或者说,整个程序没有出现一次const标识符。
这不是个好习惯,但还不至于是一个致命的坏习惯。
11。调试使用的语句,没有用“#ifdef _DEBUG”包括进去。
这个嘛!无语。
这种代码也许是写得特好。当然更多可能是更烂。
2。文档有些地方和实际代码有出入。
那是文档的问题。
3。操作数据库部分的代码和其它代码没有分离,几乎是混在整个程序里面的,如果要使用其它的数据库……只能重写。
所谓的“没有分离”指的是什么?如果要换数据库就要重写,说明写得的确是烂。如果数据表结构有点变化就要大量修改,偶以为正常。以偶的经验来看,数据表结构是整个系统中藕合度最高的部份,而且偶至今没有找到合适的方法降低,很希望有人教偶。
4。大量的使用了“#define EXAMPLE string("example")”这样的宏,造成运行时的效率低下。
说明写程序的人对C++还不是很了解。
5。作为基类的类,没有虚析构函数。
同上。
6。将string类的“==”和“compare”方法用混了。
说明写程序的人对STL还不是很了解。
7。很多new语句后面,没有检查是否分配成功。
这点比较疑惑。《Effective C++》的确说了要注意new分配不成功的情况。但各位大虾真的是对每一个new语句都检查一遍吗?很想请教一下代码是怎么写的。还有,这仅仅是在C++中的情况。各位在写Java或C#程序时每次new以后也都检查一遍吗?
8。带有指针的类,没有复制构造函数,同时也没有显式的禁止复制对象。
同4。
9。很多地方将基类的指针强制转换为派生类的指针。
这种情况并不见得是错,如果派生类确实拥有基类所没有的属性和方法的话。并不是什么时候都要用适配器模式的。
10。该使用const的地方,都没有。或者说,整个程序没有出现一次const标识符。
这不是个好习惯,但还不至于是一个致命的坏习惯。
11。调试使用的语句,没有用“#ifdef _DEBUG”包括进去。
这个嘛!无语。
相关文章推荐
- 页面无刷新多框联动代码
- “Coding在西元前”——写给所有热爱C++的朋友
- 即刻完成你的ASP.NET程序
- ASPX(C#)设计的一个3D彩色柱形统计图
- ASP.NET 2.0,无刷新页面新境界!
- Java语言的中文处理
- ASP.NET四种页面导航方式之比较与选择
- 关于Eclipse3.0+EclipseME0.6.1+j2sdk1.42开发J2me程序的环境配置!
- 初学java应该注意的地方
- java 学习笔记
- Bug Fix : 安装Visual Studio SP6后引起的ASP无法执行, ASP运行后出现500 - internal error.
- Java JDBC连接的一个例子
- javadoc - Java API 文档生成器
- 如何自己安裝和使用 PEAR
- C#属性编程(二)
- C++从零开始(十二)——何谓面向对象编程思想
- C++从零开始(十一)下篇——类的相关知识
- C++从零开始(十一)中篇——类的相关知识
- C++从零开始(十一)上篇——类的相关知识
- C++从零开始(十)——何谓类