当前位置:C++技术网 > 资讯 > 软件开发杂记(备忘)

软件开发杂记(备忘)

更新时间:2015-06-27 18:48:02浏览次数:1+次

    说说我最近遇到的代码优化的一点点东西。很挫,勿笑。
    常常,我们平时思路是很清晰的,做法也很正确。可是一旦出错,我们就会乱试,然后进行调试。如果这个错误是出在算法上,那这就是一件非常没有效率的事情。应当先进行严密的分析后,排除算法上的错误,再进行测试。
    我要记的主要内容在下面。计算机是一个计算速度极快的,不会分析的一个机器。它适合做大量的,每次都相同或者稍有不同的重复运算。如果一个问题不能确保这一点,那寻找每次循环或迭代的公式往往是徒劳的。可以直接跳过这个徒劳的行为,开始编写复杂的处理。
    第二个要说的是映射。比如这个问题:输入月份的数字,输出月份的名字。这个问题我相信刚学编程的人也没人不会。但是我们可以搞一个数组:{"一月","二月","三月".......}。这样的好处就是,我们可以把在程序中很难说清楚的事情变成很容易说清楚的事情(输出的是上述数组 [ 输入的月份 ] )。如果数据量很大,我们完全可以分级映射。这个思路和多级存储器如出一辙。其学名叫做哈希。但是由于网上的解释十分高大上,我不相信就我一个人看不明白。
    第三个要说的是取余。取余,没人不会写。但其妙用却不少。众所周知的一个就是 rand()%100 这种。另外,在字符串处理的时候,如果需要定长或特定长度,循环输出,我们也可以用取余来做。对于有可能出现的循环次数极大的,但是经过数次循环又会回到起始点的东西,我们也可以用取余的方法,消减掉全部不必要的循环。
    第四个就是一个项目,其全部的代码其实都是写在一起的。所谓的区分函数也好,区分文件也好,都是为了对变量,函数等东西的有效作用范围和作用时间进行限制。并且函数也好,类也好,都是提供了明确的出口和入口。只有经过这个入口,才能够对内部和外部进行交互。
    最后是福利。福利发不出来,抱歉。如果想看可以找我要。