当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 编程守则
帖子发表于 : 2013-03-08 15:19 
头像

注册: 2007-12-17 21:41
帖子: 783
送出感谢: 67
接收感谢: 23
编程守则

说明:个人编程的一些感受,仅供参考。

2013-02-28

* 1 检查和过滤无效参数,以及多余的字符和参数;

* 2 程序头部应标明程序运行的依赖关系,包括:依赖的软件/命令名称及版本号需求,
硬件平台等;

* 3 可能变更的、不确定的文件路径和文件名称,尽可能定义为变量(variable),方便移
植和维护;

* 4 必要时记录运行日志(log),并在日志文件头部记录程序名称($0),程序参数($*),
用户名(whoami),日期时间(date)等信息。必要时还可记录程序结束时的时间;

* 5 调试代码和临时代码,应用调试开关(switch)控制开启(on)和关闭(off),方便调试
输出和关闭;

* 6 程序中记录必要的注释信息;

* 7 检查要执行、读取、修改的程序和文件是否存在或已安装,是否有执行、可读、修改
权限;

* 8 创建新文件前,先确认文件所在目录是否存在,必要时手动创建目录;

* 9 用命令操作某个文件时,尽可能先复制到临时文件,完成编辑后再复制回目标文件,
降低可能出现的错误对原始文件的破坏。特别是修改配置文件内部参数的时候;

* 10 条件判断(if/case)和循环(for/while/until)时,及时跳出(break)语句和退出
(exit)程序,并记录返回值;

* 11 条件判断时,详细分析实际运行中最常出现,最多出现的情形,优先判断和运行,提
升程序效率和性能;

* 12 多条件、多数值的语句,尽可能改写为数组(array),条件语句,循环语句,结构体
(construction)等,建立数据骨架,方便维护和扩展;

* 13 修改或查看配置文件内的参数值时,先检查参数字符串(string)和数值(value)是否
存在或有效;

* 14 预留和待处理(todo)的函数(function)和代码,模糊(fuzzy)代码,待修正(fixme)
代码和缺陷(bug),做好必要的起止标记(begin/end);

* 15 考虑更多的非标准情况和意外情况,并提前做好预处理。如文件编码不是标准的
ASCII编码,内存/硬盘/数据卡读取故障,死机/停电,程序意外退出/强行退出或中断等
等,可能对文件造成的破坏,进行更多的容错设计和纠错设计,并给出必要的错误输出,
利于判断和调试;

* 16 一切皆有可能;

* 17 合理共用函数、合并代码,标准化流程;

* 18 善用双引号(");

* 19 善用参数移位(shift);

* 20 调试(debug)前先删除可能影响调试结果的残留文件,多样例、多调试;

* 21 多看案例,领悟流程和编程逻辑;多运行;

* 22 三个码农,互相沟通!


_________________
* 日本人说:就算我们不拜靖国神社,韩国人也不会买我们的东西;
就算我们拜靖国神社,中国人照样买我们的东西。

* 历史不相信眼泪。能挡住狼的不是篱笆,而是棍子和猎枪。
--------------
Careone <emacslocale^126.com>
https://sourceforge.net/projects/emacslocale/files/


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 编程守则
帖子发表于 : 2013-03-08 20:14 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
乱七八糟的嘛。哪里抄的。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译