程序员必知的编程要点与原则
1. 阅读人文学科知识的益处
在软件开发中,与人合作和为他人开发软件是常态。然而,程序员所学的内容往往不足以让他们很好地应对工作中的人际交流。人文学科的知识能够为此提供帮助。
- 语言理解方面 :
- 路德维希·维特根斯坦指出,我们相互交流使用的语言并非用于将一个人的思想、想法或画面从其头脑传输到另一个人头脑的序列化格式。在“收集需求”时,我们应警惕误解的发生。而且,我们相互理解的能力并非源于共同的定义,而是源于共同的经验和生活方式。这也解释了为什么深入了解问题领域的程序员往往比不了解的程序员表现更好。
- 乔治·莱考夫(George Lakoff)和马克·约翰逊(Mark Johnson)在《我们赖以生存的隐喻》中提出,语言在很大程度上是隐喻性的,这些隐喻能让我们深入了解我们如何理解世界。例如,“现金流”可看作“金钱是一种流体”的隐喻,这会影响我们对处理金钱系统的思考方式;“协议栈中的层”,将用户视为“上”,技术视为“下”,这反映了我们对所构建系统结构的思考,也可能是一种需要偶尔打破的思维惰性。
- 工具使用体验方面 :马丁·海德格尔在《存在与时间》中研究了人们体验工具的方式。对于程序员来说,工具是他们构建、使用、思考、创造、修改和重新创建的对象。但对用户而言,工具在正常使用时是无形的,只有在出现问题时才会成为关注的对象。在讨论可用性时,应牢记这种差异。
- 认知分类方面 :埃莉诺·罗施(Eleanor Rosch)推翻了亚里士多德的分类模型。程序员向用户询问系统需求时,倾向于要求用谓词构建定义,这样的类别清晰、不相交且整齐。但
超级会员免费看
订阅专栏 解锁全文
24

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



