zoukankan      html  css  js  c++  java
  • 《凌波微步》 中总结的一些软件工程中的经验

    只在必要的情况下才使用特殊的编译选项, 因为你不能保证其他人也同样正确的设置。


    代码风格不能妨碍沟通, 混合的风格等于没有风格。所以还是根据项目来确定自己的代码风格。


    代码风格的选择, 考虑的范围包括:易维护, 高效, 清晰, 简洁, 重要性递减。


    goto 也并不是毒瘤, 当深陷于 for 迭代的矩阵中, goto 可能是你杀出重围的利器, 反而有助于写出更为清晰的代码。


    而另一种 goto 适用的方面就是, 当有巨多种情况的时候, 或者说一个 switch 有着巨多个 case 的时候, 与其使用一个 flag, 有时并不如使用 goto。


    再一个, goto 的效率确实高, 如果你把执行速度的优先级定为最高, 那么搭配良好的注释, goto 还是可以用的。


    但在使用 goto 时, 还需要注意, 每个模块(函数、过程、方法、子程序)最多使用一个 goto 标号。 且, goto 的语句一定要出现在对应的标号之前, 即只能向下跳转。


    assert() 只能用于检查程序的运行状态, 而不能用于对程序状态有影响的任何操作性语句, 因为在 Release 版中, assert() 将使该操作化为乌有。
    类的构造函数需要对传入的参数进行有效性检查。


    因为构造函数没有返回值, 所以解决构造函数资源分配失败的方法有两种,一种是不在构造函数中分匹配资源, 而是使用 Initialize() 和 Uninitialize() 函数负责资源的分配和释放。另一种方式则是使用异常处理机制, 当构造函数中发生了资源分配错误的问题后, 立刻抛出异常。


    不要把类的属性与其方法的参数混为一谈。

  • 相关阅读:
    MySQL数据类型2
    MySQL数据类型1
    powerdesigner使用之——从“概念模型”到“物理模型”
    javascript中click和onclick的区别
    eclipse将javaSE项目导出成可执行jar包
    配置SQLServer,允许远程连接
    VirtualBox虚拟机中安装XP系统
    fastjson 的使用总结
    idea前端页面不刷新----springboot
    后台可以用layui快速开发
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4293408.html
Copyright © 2011-2022 走看看