Clean Coder: The Dark Path (2017)
3 months ago
- #testing
- #software-development
- #programming-languages
- 作者一直在探索Swift和Kotlin,注意到它们的相似之处和函数式编程特性。
- Swift和Kotlin都强调强静态类型,旨在弥补其母语言(Objective-C和Java)存在的类型漏洞。
- 作者对Swift和Kotlin类型系统的僵化性表示担忧,特别是在异常处理、继承和可空类型方面。
- Swift和Kotlin对异常处理(使用'open'和'override'关键字)、继承和可空类型检查制定了严格规则,作者认为这些限制过于严苛。
- 作者质疑管理风险(如异常、继承和空值)的责任应该归于语言还是程序员。
- 这种批评延伸到这些语言特性引入的复杂性和冗长性,将其比作“语言律师行为”。
- 作者认为缺陷是程序员的过错而非语言的过错,并强调测试的重要性胜过语言强制约束。
- 文章最后警告不要过度依赖语言安全性,主张通过严格的测试实践来预防软件缺陷。