那些年开发的时候踩过的坑

  • 可能发生的错误一定会发生,所以能尽早想到,就尽早采取措施预防

  • 系统默认的环境被人改了,例如有人默认把 python 指向了2或者3

  • 各节点时间不一致

  • 用语言相关的RPC或者缓存,例如Java RMI或者pickle,导致与语言强相关而提高了耦合度

  • 对分布式情况下的远程调用做太多假设,例如以为内网会没什么故障。然而现实告诉你,即便网络没有故障,也许被调用的服务也会 发生故障,不加超时就准备哭吧。其实开发软件,对假设做的越少,稳定性和耦合性就会越低,但是相对应的,复杂度就会提升。软件 开发永远是一种理想和现实的权衡,而权衡下做的选择,只有更好,没有最好。


更多文章
  • 独立运营博客一年的一些数据分享
  • To B(usiness) 和 To C(ustomer)
  • 常见的软件架构套路
  • Cookie 中的secure和httponly属性
  • Google Ads使用体验
  • Go的custom import path
  • 如何挖掘二级子域名?
  • Go Module 简明教程
  • 写了一个Telegram Bot:自动化分享高质量内容
  • ArchLinux 怎么降级 package ?
  • Vim打开很慢,怎么找出最慢的插件?怎么解决?
  • 为什么我选择放弃运营微信公众号?
  • Web后端工程师进阶指南(2018)
  • How to implement fork syscall in Golang?
  • macOS ansible 遇到 rsync: --chown=www-data: unknown option