设为首页 加入收藏

TOP

Linux C编程与Shell编程在开发实用工具方面的相同点总结
2015-11-12 23:05:51 来源: 作者: 【 】 浏览:15
Tags:Linux 编程 Shell 开发 实用工具 面的 相同点 总结

以whois包中的mkpasswd的源码mkpasswd.c文件为例,


两者都需要做的事情:


(1)在程序运行前需要满足其运行环境,包括声明需要使用哪些库哪些文件,例如C中的条件编译,Shell编程中的部分条件判断,如文件是否存在、是否可执行


(2)具备灵活性和可移植性:充分运用宏定义或全局变量(Shell专用),尽管C中许多宏定义不仅仅用于程序运行还用于程序移植,Shell中的许多全局变量也可用于脚本的移植


(3)都需要做参数(argument)声明:允许用户给程序传入那些参数,不允许用户传入那些参数;哪些参数是不可同时使用,哪些参数必须同时使用


(4)定义程序是否接受长选项(--sargv)


(5)对用户的输入做过滤判断处理,各种输入情况的判断处理、非法输入和特殊字符的处理


(6)控制用户使用逻辑和避免流程缺陷:保证用户输入不会超出程序设计预期,如输入(字符串长度、数字长度)溢出,保证流程流向并正确处理和结束


(7)与操作系统结合紧密:符合操作系统规范和操作系统哲学,如恰当的函数返回值、程序退出返回值、接受管道、区分stdin、stdout、stderr等


(8)函数调用或外部程序调用,需要捕获异常并处理异常,来自用户或系统的中断处理、信号处理


(9)执行核心方法前做好一切事情


(10)main函数尽可能的清晰精短、注意功能的拆分,保持函数原子性,尽可能的将函数复用,使用必要的缩进


(11)站在巨人的肩膀上,避免重复造轮子,使用并保持一致的编程风格


(12)程序运行完,擦好自己的屁股,程序运行前后充分与用户交互


(13)适当卖弄一下自己的编程技巧和编程艺术


(14)有时需要注意语言国际化问题


(15)声明协议、许可和较为详细注释、TODO,允许他人使用,改写,再创作等


(16)接受bug,留下自己的联系方式,哈哈!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇浅述编写模块化的 JavaScript 下一篇Linux下利用glibc2库和crypt()函..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: