Unix哲学教导我们应该开发一些能很好地完成一件事的小程序.它还教导我们应该将政策与力学分开.我想一种方法是首先设计一个基于文本的shell命令,然后在之后构建一个gui(如果需要).
我真的很喜欢小程序可以组合(管道连接)到更复杂的系统中的想法.我还喜欢这样一个事实,即简单,专注的设计理论上需要的维护要少于将所有规则绑定在一起的单片系统.
编程(例如在Ruby或Python中)将某些功能降级为直接从代码调用的shell命令是多么合理?更进一步,故意设计一个直接从代码(编译或脚本)调用的shell命令是否有意义?显然,这只有在shell命令有一些值得使用的控制台时才有意义.
从我的经验来看,我不能说这是我见过很多的一种做法.特定于任务的代码依赖于特定于任务的库.当然,在我不知情的情况下,我可能已经使用了库,这些库实际上只是shell命令的包装器.(或者更确切地说,shell命令是某个库的包装器.)
unix范例是模块化的.您应该将程序编写为一组模块,然后可以根据需要将其提取到多个程序中.但是,每当您想要进行函数调用时执行新程序都是缓慢且不实用的.