跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[程序员] 与其说动态类型语言代码不易维护, 不如说带有副作用功能逻辑混在一起的代码不易维护


小天管理

已推荐帖子

从帖子 https://v2ex.com/t/1056990
吐槽说弱类型代码不易维护启发。

python 的 list-dict ,php 、js 的 array ,都能往里面塞各种类型任意对象。这时候就是一种功能逻辑实现混淆副作用。
于是,有经验的动态类型语言程序员,都会有“防御型”编程的习惯,比如在编写代码之前先检查校验一遍传入数据的类型是否符合接下来要编写代码的数据类型要求。

这是很容易解决的,真正麻烦的是遇到功能实现混淆在一起时硬耦合的情况,就像一个有聊天与截图功能硬耦合的软件,当我单纯只想要截图功能时还是不得不附带安装这个聊天功能一样恶心。比如处理订单导出需要遍历订单数据,处理订单不同用户但同一小区地址合并数据的逻辑也需要遍历订单数据,于是程序员决定在处理订单导出的遍历里也处理订单小区地址合并数据,遇到特殊情况特殊处理,然后他就写了一堆特殊处理的代码,这就是让人恶心的功能实现混淆达成了硬耦合。

强类型静态类型都会有这些问题,还很常见,解决办法没有银弹,只能是 code review ,与经常性重构,才能保证代码不会腐败。

如果说接过的多手代码,从不重构,已经完全腐败,无法重构,那确实除了屎上雕花,祈祷不出 bug ,没有别的办法。
意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...