软件设计的思想与哲学
以下是从比较经典的书籍中摘录了的几条跟软件设计相关的原则和思想,这些思想不仅可以帮助你在设计软件、编写代码时有用,而且正如Mike Gancarz的《Linux/Unix设计思想》的译者序的作者漆犇所说“如果用“武侠”来作一个类比,这本书就好像是一部教你修炼内功的秘笈,无论新手老手,修炼基本内功都是一件必须持之以恒甚至可以毕生研习的事情,而同时我们也要知道,有时候优秀程序员和普通程序员水平差距的关键也正在于此”。
摘自Robbins和Beebe的《Shell脚本学习指南》软件工具设计概念和原则(P8-P20)
(1)一次做好一件事。
(2)处理文本行,不要处理二进制数据。
(3)使用正则表达式。
(4)默认使用标准输入输出。
(5)避免喋喋不休。
(6)输出格式必须与可接受的输入格式一致。
(7)让工具去做困难的部分。
(8)构建特定工具前,先想想 。摘自Mike Gancarz的《Linux/Unix设计思想》UNIX哲学(P5-P9)
(1)小即是美。
(2)让每一个程序只做好一件事情。
(3)尽快建立原型。
(4)舍高效率而取可移植性。
(5)使用纯文本文件来存储数据。
(6)充分利用软件的杠杆效应。
(7)使用shell脚本来提高杠杆效应和可移植性。
(8)避免强制性的用户界面。
(9)让每一个程序都成为过滤器。10个次原则
(1)允许用户定制环境。
(2)尽量使操作系统内核小而轻巧。
(3)使用小写字母,并尽量保持简短。
(4)保护树木。
(5)沉默是金。
(6)并行思考。
(7)各部分之和大于整体。
(8)寻找90%的解决方案。
(9)更坏就是更好。
(10)层次化思考。
- 软件设计的思想与哲学
- linux的哲学思想
- 平台+插件软件设计思想及基于COM的原型实现
- 谈谈索引的哲学思想
- 平台+插件软件设计思想及基于COM的原型实现
- 思想指导行动同样适合软件设计
- 平台+插件软件设计思想基于COM原型实现的代码剖析
- LINUX初学之哲学思想和文件系统——3.4、3.5笔记
- 从哲学角度理解面向对象的思想
- Linux系统中获取帮助的方法及Linux系统的哲学思想
- Linux中的哲学思想
- 自由是有代价的:聊聊这几年尝试的道路 要想生活好,别看哲学书和思想书。简单看看可以,看多了问题就大了。还是要去研究研究些具体的问题。别jb坐在屋子里,嘴里念着海子的诗,脑袋里想康德想的事情,兜里屁都没有,幻想自己是大国总理,去想影帝是怎么炼成的。
- 【转载】软件设计思想
- 做一个有思想的软件设计人员
- 软件设计思想概述
- linux的哲学思想
- JavaScript 原型中的哲学思想
- 平台+插件软件设计思想基于COM原型实现的代码剖析
- Linux的【哲学思想】
- 平台+插件软件设计思想及基于com的原型实现