百科问答小站 logo
百科问答小站 font logo



如何评价 Clean Code 作者对 Swift 与 Kotlin 的看法? 第1页

  

user avatar   xing-jiankuan 网友的相关建议: 
      

作者的观点很明确。他希望编程语言能够更加灵活,更加有表达力,没有那么多条条框框。更加希望由人来把握其中的取舍。动态类型的FP是作者偏爱的编程风格。

他反复提到:

Whose job is it to manage that risk?Whose job is it to manage that risk? Is it the language’s job? Or is it the programmer’s job.

并比较明显的提出管理程序质量的是programmer的责任。

曾经我也很喜欢这个观点……程序员嘛,程序正确性都搞不定就别丢人了。

直到我遇到了一大波“现实中的程序员”。他们:

  • 搞不定并发和锁,动不动就一致性出错或者死锁
  • NPE,NPE,NPE。
  • 根本就不处理错误,直到第一次出现线上bug。被用户骂成翔。
  • 没事就“复用“代码,好像把重复代码抽取出来就很NB一样。问题是下次这段被抽取的代码修改后的影响面和向前兼容,是没人管的。
  • 如果用了动态语言,字段对不上,string和int不分造成的问题不胜枚举。
  • 写了代码无测试,或者最多手工测了一把就上了。正确性是个玄学。

而现实的商业环境要依靠这样一大波“现实的程序员”协作去快速支持用户需求,抓住市场机会,在一个又一个新领域“试错”。

这么看来,语言上管的多一点,以牺牲表达力为代价来让问题出现的频次明显降低。这个取舍在工程语言这个领域里似乎无可厚非。

在现有的人力市场上,找100个“现实 程序员”和1个“真 程序员“,哪个更容易?

至于PL大佬们,他们爱用啥就用啥。




  

相关话题

  C#相对路径 连接Access数据库怎么写?? 
  编程语言会影响程序员的性格吗? 
  现在(2021年)OSGi的发展前景如何? 
  为什么大多数解释器都将AST转化成字节码再用虚拟机执行,而不是直接解释AST? 
  java switch 不加 break 继续执行 下一个case(不用匹配条件) 这个设计是因为什么? 
  现在的编程语言越来越多,为什么 C 和 C++ 还没有被现在的时代淘汰呢? 
  Build 2015上微软宣布Windows 10支持Objective-C与Java编写的应用,这对C#与Windows自身有什么长远影响? 
  对于软件工程专业学生有哪些书可推荐? 
  为什么C#的.NET库不默认提供「优先队列」容器? 
  湖南大学软件工程专业又涉论文抄袭,重复率接近 100%,已是第三起,这反映了什么问题? 

前一个讨论
柯蒂斯·李梅相比于他的前辈和同僚是否具有更高的道德水平?
下一个讨论
一颗氢弹可以彻底消灭多少平米的生物?





© 2025-02-09 - tinynew.org. All Rights Reserved.
© 2025-02-09 - tinynew.org. 保留所有权利