Unix 界面设计:权衡与模式
在软件开发中,新手易用性和专家实用性之间的权衡是一个常见的挑战。以简单的算术错误检查场景为例,xcalc 在日常使用中表现出色;而对于复杂计算,dc/bc 则更具优势,因为它不仅能保证计算步骤的正确性,还能让用户清晰看到计算过程,并且可以方便地与其他程序集成。
1. Unix 程序员的界面设计理念
Unix 程序员在界面设计上倾向于追求表达性和可配置性。与主要开发客户端操作系统的软件开发者不同,他们更愿意牺牲易用性来换取这些特性。客户端操作系统开发者通常默认将界面设计得简单,而 Unix 程序员则默认使界面具有表达性和透明度。
这种态度常被描述为“为程序员编写,由程序员编写”的界面,但这其实是一种简化的说法。当 Unix 程序员选择可配置性和表达性而非易用性时,他们并非只考虑其他程序员,而是基于一种直觉:在不了解最终用户意图的情况下,最好不要对用户进行过度干预或猜测。
然而,这种态度也有其缺点。Unix 程序员可能会认为,一旦完成了高度可配置和表达性强的界面,工作就结束了,即使这个界面对于其他人来说可能需要长时间学习才能使用。可配置性的另一面是需要良好的默认设置和简单的恢复默认设置的方法;表达性的另一面则是需要在程序或文档中提供使用指导,帮助用户入门并实现最常见的需求。
此外,透明性原则也对 Unix 程序员产生影响。当他们编写符合 RFC 或其他标准的程序时,会认为自己的任务是为所有控制选项提供完整而透明的界面,而不考虑某个选项是否会被实际使用。这种思维方式使他们对标准合规性有更严格的要求,相比之下,Mac 或 Windows 开发者可能会认为某些标准特性过于复杂,大多数用户不会在意,因此不需要支持。 </
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



