目录:
- 编码风格清晰一致,不仅增强了程序的可读性,而且减少了编码错误。请记住,解密C ++语法所花费的大脑力量越少,您留下的思考手头程序的逻辑就越多。良好的编码风格使您能够轻松完成以下任务:
- 简短的评论应该是有启发性的。如果他们不是,他们不值钱,你应该做的东西,而不是。当你试图让你的程序工作时,你需要所有的启发。当你看到你前几天写的一段代码时,那些简短的描述性的评论,对于帮助你弄清楚你到底想做什么,可以做出巨大的贡献。另外,一致的代码缩进和命名约定使代码更容易理解。当代码完成后,代码很容易阅读,这一切都非常好,但是在编写代码时,代码的易读性同样重要。那时你需要帮助。
- 除了使用两个流I / O操作符
- 和赋值操作符
- 将内存返回给堆。具体来说,
- 在对C ++的理解水平感到满意后,尝试设置一些多重继承层次结构。这样,如果你需要的话,你就可以做好准备了。
视频: 第30讲 小甲鱼 C++ 错误处理和调试 2024
在删除或至少了解编译期间生成的所有警告之前,请勿开始调试代码。启用所有的警告信息,如果你忽略它们,你是不行的。如果你不明白这个警告,那就查一查。你不知道 会伤害你。 采用清晰一致的编码风格
编码风格清晰一致,不仅增强了程序的可读性,而且减少了编码错误。请记住,解密C ++语法所花费的大脑力量越少,您留下的思考手头程序的逻辑就越多。良好的编码风格使您能够轻松完成以下任务:
<!区分类名称,对象名称和函数名称
根据名称区分对象- 区分预处理器符号与C ++符号(即#defined对象应该脱颖而出)
- 在同一级别识别C ++代码块(这是一致缩进的结果)
- 另外,您需要建立一个标准模块头,提供有关模块中功能或类的信息,作者(大概就是你),日期,你使用的编译器的版本和修改历史记录。
- <!最后,所有涉及单个项目的程序员都应该使用相同的风格。试图破译一个不同编码风格的程序是令人困惑的。
在编写代码时注释代码
如果在编写代码时注释代码,而不是等到一切正常,然后再返回并添加注释,则可以避免发生错误。没有花时间写出大量的头文件和函数描述,直到后来才可以理解,但是在编写代码的时候总是有时间添加简短的注释。
简短的评论应该是有启发性的。如果他们不是,他们不值钱,你应该做的东西,而不是。当你试图让你的程序工作时,你需要所有的启发。当你看到你前几天写的一段代码时,那些简短的描述性的评论,对于帮助你弄清楚你到底想做什么,可以做出巨大的贡献。另外,一致的代码缩进和命名约定使代码更容易理解。当代码完成后,代码很容易阅读,这一切都非常好,但是在编写代码时,代码的易读性同样重要。那时你需要帮助。
每个路径至少单步执行一次
作为一名程序员,了解程序的功能非常重要。没有什么能让你更好地感觉到,在一个好的调试器中,单步执行程序会发生什么。 (包含在交互式编译器的IDE中的调试器工作得很好。)除此之外,当你编写一个程序时,你有时需要原材料来弄清楚一些奇怪的行为。当它们投入使用时,没有什么比单步执行新功能更好的了。最后,当一个功能完成并准备添加到程序中时,每个逻辑路径至少需要经过一次。当函数被自己检查时,错误更容易被找到,而不是被其他函数抛入其中之后 - 而且你的注意力已经面临新的编程挑战。
避免重载操作符
除了使用两个流I / O操作符
操作符<<()
和
操作符>>()
和赋值操作符
操作符=() ,你应该暂缓重载操作符,直到你对C ++感到满意为止。尽管一组好的重载操作符可以增加新类的实用性和可读性,但重载操作符(除了刚刚列出的三个操作符之外)几乎是不必要的,并且可以作为新程序员显着增加调试困难。您可以通过定义和使用适当的公共成员函数来获得相同的效果。 在您进行C-Plus-Plussing几个月之后,请随时返回并重新开始将操作员重载到您的心中。 平衡堆处理 一般来说,程序员应该在相同的层次上分配和释放堆内存。 “如果成员函数 MyClass:: create() 分配了一块堆内存并将其返回给调用者,那么应该有一个成员函数
MyClass:: release()
将内存返回给堆。具体来说,
MyClass:: create() 不应该要求父函数释放内存本身。这当然不能避免所有的内存问题 - 父函数可能会忘记调用 MyClass:: release() - 但它确实减少了一些可能性。 使用异常来处理错误 C ++中的异常机制旨在方便有效地处理错误。现在这个功能已经标准化了,你应该使用它。生成的代码更容易编写,更易于阅读和维护。另外,其他程序员也期待它 - 你不想让他们失望,是吗? 避免多重继承 多重继承,如运算符重载,增加了另一个级别的复杂性,在刚刚起步时不需要处理。幸运的是,大多数现实世界的关系可以用单一的继承来描述。 随意使用来自商业库的多重继承类,例如Microsoft MFC类。微软已经花费了相当多的时间来设置它的类,它知道它在做什么。