软件工具设计原则
一次只做好一件事
如 grep 只是用来查找文件中的符合样式的结果, 而不会用于其它操作
处理文本行, 不要处理二进制数据
文本行是 UNIX 的通用格式
使用正则表达式
POSIX 仅提供两种正则表达式:
BRE(Basic Regular Expressions): 基本型正则表达式
ERE(Extended Regular Expressions): 扩展型正则表达式
默认使用标准输入/输出
在未明确指定文件名的情况下, 程序默认会从它的标准输入读取数据, 将数据写到它的标准输出
软件执行过程简洁明了
可接收的输入格式和输出格式必须保持一致
遵循某种格式的输入数据, 其产生的输出也应遵循与输入一致 的规则。好处是可以将程序执行的结果再次交给下个程序继续执行。
让工具去做困难的部分
工具构建前需要仔细思考
思考i什么?是否有其它人也有同样需求?是否要考虑 设计的通用性?