风格
关于命名:
全局变量用较详细的命名方式,局部变量用段名字,函数中的临时变量用单字母就可以了
全局和局部变量最好都写上注释
同一域中的命名要一致,number和num只能用一个,不可混用
对于布尔类型值的函数命名应该清楚地反映其返回值的情况,如isNum(str)
函数的命名要能够切实的反映其所做的工作
表达式和语句:
避免在for、while、if的条件中加入过多的表达式,尽量分行写
在混合使用互相无关的运算符时,多写几个括号是个好注意
去掉几个空格以使得优先级高的运算符与运算对象连接在一起
将复杂的表达式分解成几个部分
一行表达式中最好只包含一个?:表达式
一致性和习惯用法:
如果一个if后紧接着另一个if,一定要加上花括号
如果是修改别人的代码,要按照原有代码的风格写,程序的一致性比个人习惯更重要
strlen求出的值并没有计入串结尾的'\0'字符,strcpy会将它复制,拷贝字符串最好用strdup
一系列嵌套的i f语句通常是说明了一段粗劣笨拙的代码,或许就是真正的错误
一个判断应该尽可能接近它所对应的动作
switch语句中"从上面掉下"的方式在一种情况下是可以接受的,那就是几个case使用共同的代码段
函数宏:
给宏的体和参数都加上括号.如果你真的要使用函数宏,那么请特别小心
神秘的数:
神秘的数包括各种常数、数组的大小、字符位置、变换因子以及程序中出现的其他以文字形式写出的数
给神秘的数起个名字.例如用枚举表示
把数定义为常数(const),不要定义为宏.整数常数可以用枚举语句声明
我们赞成使用不同形式的显式常数,而把0仅留做整数常量
利用语言去计算对象的大小.不要对任何数据类型使用显式写出来的大小.例如,我们应该
用sizeof(int) 而不是2或者4.基于同样原因,写sizeof (array[0]) 可能比sizeof(int) 更好,因为即使是数组的类型改变了,也没有什么东西需要改变.
计算数组大小sizeof(array)/sizeof(array[0])
注释:
不要大谈明显的东西,应该提供那些不能一下子从代码中看到的东西,或者把散布在许多代码里的信息收集到一起
否定性的东西很不好理解,应该尽量避免
修改代码也要修改对应的注释

算法与数据结构
不要用return v1-v2;的方式比较两个整型数的大小,因为如果v1是很大的正数,而v2是大负数,计算结果可能会溢出.

转载于:https://www.cnblogs.com/Alacky/archive/2007/08/24/868890.html

[读书笔记]一些编码中需要注意的东西相关推荐

  1. 【读书笔记 | 自动驾驶中的雷达信号处理(第7章 目标滤波与跟踪)】

    本文编辑:调皮哥的小助理 大家好,又和大家见面了,时间过得很快,到目前为止,如下面的目录所示,我们已经阅读过汽车雷达目标检测的一些基本的原理了,特别是距离.速度和角度.虽然这些表示瞬时目标状态的信息可 ...

  2. 读书笔记.:硝烟中的Scrum和XP

    读书笔记.:硝烟中的Scrum和XP scrum不能解决问题,解决问题靠开发团队自己 出色的团队最重要的是有良好素质的团队,这些素质包括进取心.责任心.良好的习惯.热情,其次才是技术.流程 scrum ...

  3. 读书笔记 | 自动驾驶中的雷达信号处理(第2章 雷达方程)

    本文编辑:调皮哥的小助理 2.1 介绍 本文主要介绍雷达方程,这有助于理解传播损耗对雷达发射信号的影响.本期的内容都很简单,通俗易懂,即使有存在不易理解的,我会额外加以注释,总而言之,会站在一个初学者 ...

  4. 读书笔记(2) OpenLayers中的图层

    OpenLayers有多个不同的图层类,每一个都可以连接到不同的地图服务器.例如通过Layer.WMS类可以连接到WMS地图服务器,通过Layer.Google类可以连接到谷歌地图服务器.OpenLa ...

  5. 读书笔记 | 自动驾驶中的雷达信号处理(第9章 汽车雷达的应用概述)

    本文编辑:调皮哥的小助理 大家好,我是调皮哥,又和大家见面了,时间过得很快,到目前为止,本次读书笔记的内容是最后一篇了,相信大家通过之前文章的阅读,已经对自动驾驶中的雷达信号处理.雷达数据处理.人工智 ...

  6. 读书笔记 | 自动驾驶中的雷达信号处理(第8章 雷达目标识别与分类技术)

    本文编辑:调皮哥的小助理 大家好,我是调皮哥,又和大家见面了,时间过得很快,到目前为止,本次读书笔记的内容已经快接近尾声了,相信大家通过之前文章的阅读,已经掌握了雷达系统.雷达信号处理.雷达数据处理. ...

  7. 《复杂》读书笔记(part6)--计算机中的自我复制

    学习笔记 学习书目:<复杂>- 梅拉妮·米歇尔 文章目录 自我复制的计算机程序 计算机中的自我复制 自我复制程序的深层含义 DNA的自我复制 冯.诺依曼的自复制自动机 自我复制的计算机程序 ...

  8. 全球首发!计算机视觉Polygon Mesh Processing读书笔记——5微分几何中的弧长

    Arc Length 可以将在区间[c,d]⊆[a,b]上定义的任何曲线段的长度l(c,d)计算为切向量的积分,即l(c,d)= . 因此,切向量对曲线的度量进行编码. 此弧长参数设置独立于曲线的特定 ...

  9. 全球首发!计算机视觉Polygon Mesh Processing读书笔记6——微分几何中的Metric Properties

    令连续表面的参数形式为 其中x,y和z是u和v中的可微函数,Ω是参数域. 标量(u,v)是参数空间中的坐标.与曲线情况类似,表面的度量由函数x的一阶导数确定. 如图3.3所示,这两个偏导数.将向量w从 ...

最新文章

  1. JS子窗口调用父窗口中的函数
  2. asp.net webform 与asp.net mvc 混合开发项目总结
  3. 一段js面向对象的写法
  4. 搭建 springMVC 框架
  5. Linux命令之 chsh -- 用来更换登录系统时使用的shell
  6. 数据结构和算法(02)---字符串(c++)
  7. JAVA vo pojo javabean dto区别
  8. HTML鼠标点击文字语音播放,10款jQuery+HTML5实现的鼠标点 经过播放音频
  9. 快捷方便的对js文件进行语法检查。
  10. Django学习-22-Form
  11. 用python爬虫抓站的一些技巧
  12. 容易的计算机科技核心期刊,计算机类容易中的期刊
  13. HTML中绑定点击事件的方式
  14. triplets 、triplet Loss和 hard triplets
  15. 常见软件环境的配置、下载...
  16. 怀化市2021年高考查询成绩,2021怀化市地区高考成绩排名查询,怀化市高考各高中成绩喜报榜单...
  17. markdownpad2使用
  18. b站弹幕姬python_B站弹幕姬()分析与开发(下篇)
  19. Worthington 核糖核酸酶 T1解决方案
  20. 鸟人的Android揭秘(7)——搭建Android SDK开发环境(三)

热门文章

  1. jquery中有.post,.get,$.getJSON为什么没postJSON
  2. ztree隐藏指定节点后面的(重命名和删除)图标
  3. jsp文件过大,is exceeding 65535 bytes limit
  4. 把流量变现赚钱的一些想法
  5. 如何进行文件管理、备份
  6. Android 6.0 for X86
  7. xyplorer保存设置失败_将windows右键菜单添加到XYplorer
  8. JAVA→HashMap、常用方法、遍历方式、底层原理、初始化性能分析
  9. 语音包mp3_目标明确,为运动而造 ,自带MP3功能的南卡RUNNER PRO骨传导耳机
  10. python跟java适用专业_javaweb中java和python混合使用