我不记得在哪里读到的,但有人建议,如果你需要工具,买你能找到的最便宜的。如果它不够用,或者坏了,或者你经常用,那就买你能买得起的最好的。
如果你遵循这个策略,在买好的工具之前先买一个便宜的工具,有时会浪费一点钱。但是你不会把钱浪费在购买你很少使用的昂贵工具上。在你最终买到一个好的工具之前,你不会把钱浪费在购买一系列递增的更好的工具上。
上面的建议是在您可以在硬件商店找到的工具的上下文中给出的,但我一直在考虑它在软件工具的上下文中。有一些东西可以说,有适合小任务的简陋的工具,有适合大任务的复杂的工具,但不会在中间投入太多资金。这就是我在最近一篇从shell到system的帖子中所要表达的意思。
我正在为一个新项目制作一大堆图表,最适合这项工作的工具可能是Adobe Illustrator,因为专业人士经常使用它来制作高质量的矢量艺术。但我不会那么做的。我正在画ASCII艺术图表,只是用纯文本绘制的方框和箭头。有点像下面的图画。
+-+编译为+-+|FOO语言|-&>;|C|+-++-+^|嵌入到:+-+|Bar DSL|+-+。
ASCII ART的简陋本质是一个功能,而不是一个缺陷。无论你做什么,最终产品都不会赢得任何设计奖,所以你不会忍住对美学的珍视[*]。有令人信服的动机来保持图表的小巧和简单。它鼓励你专注于内容,一旦你遇到回报递减的情况,就会放弃审美,这发生得相当快。
绘制ASCII图表很笨拙,即使使用工具也很容易。使用画图工具不是更快吗?嗯,是也不是。在绘图工具中绘制单个图形元素会更快。但不可避免的是,我会花更多的时间在图表的外观上,所以最终它会变得更慢。
制作ASCII图的最初动机是将图和源代码保存在同一文件中,而不是消除花太多时间调整图形的诱惑。后者是一个积极的、意想不到的后果。
我不会完全赤手空拳地做这件事的。Emacs有像艺术家模式这样的工具,可以比手动定位每个字符更容易。我有时会使用DITAA将纯文本图表编译成更适合粘贴到报告中的图形。上面的示例编译为下图。
[*]贵重的不是贵重的,而是矫揉造作或过分精致的贵重的。正如电影制作人达伦·多恩的口号“我们在这里并不珍贵”一样。