读《0 bug C/C++商用工程之道》——记录1
一、程序真谛
1.程序就是“搬数”
动作:读取——技术——写出(输入——处理——输出)
数据结构决定数据如何组织,搬动起来效率较高
算法语言决定了如何搬效率较高
2.程序就是“写文章”
双可读性:程序员阅读无障碍、计算机阅读无错误
3.程序就是“复制”
建立自己常用工程程序库,将常用算法和程序经过多年总结和归纳,使之具有高可用性和高正确性,在后期工作时可直接“复制”,缓解工作压力
二、定名
1.函数命名原则
1)首字母大写
2)函数名可很长,要表意清晰
3)无参数的函数在括号内使用void
2.变量命名原则
1)以小写的缩写前缀显示说明该变量的类型,如nCount,pBuffer
2)对于不同作用域的变量,如类成员变量和全局变量,必须以显式的m_和g_前缀区分
3)变量名表意要清晰
4)变量在函数使用过程中严禁转义
5)静态数组指针以sz为前缀,不需要后续程序释放
6)动态申请指针以p为前缀,需要后续程序释放
7)结构体内部成员变量用m_作前缀
8)匈牙利命名法常用的变量前缀
n int
c char
b bool
sz 静态数组
p 动态指针
us unsigned short
ui unsigned int
ul unsi
相关文档:
JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。
C++能被操作系统(Window,Linux)直接运行,而Java不行,需要有个JVM。
java语言给开发人员提供了更为简洁的语法;取消了指针带来更高的代码质量;完全面向对象,独特的运行机制是其具有天然的可移植性。
1.指针
JAVA ......
网上搜索了一大堆去掉/*和*/之间注释的代码,就像<The C Programming Language>练习1-23里有人说的一样
大部分都会被以下的程序broken,这个功能看起来简单,实际上很有难度.网上实现的代码,除了我找到的一个用文件指针实现的没有问题外,其余的都存在各种bug,不信的话就用以下的程序测试一下:-),当然这个程序也不够完善 ......
用过vista的朋友都知道 vista不知由于什么原因很多编译软件都不能正常工作了 vs6.0全部都说有已知的兼容性问题存在
当然你可以装好几个g的vs2005
寡人一直都想自学一门计算机语言
但是苦于找不到编译器
连最简单的hellowold都不能正常编译
汗
不多说
看我弄得
总算能用了
1.下载MinGW
http://sourceforge.net/pro ......
上一篇中我们在python端的做法是每次读取一个数据块,然后将这个数据块传递进C扩展模块中去,但对于目标文件的数据写入是在C扩展模块中完成的,但其实可以更面向对象一点,不是吗?原来outfp是一个文件指针,不如改成一个从Python中传递一个文件对象到C模块里去,这个文件对象有自己的write方法,这样在C扩展模块中你就可以 ......