【程序员|作为一个程序员,要不要写文档?】
文章图片
就像小马过河一样 , 对于每个人来讲 , 适应的条件也是不同的 。 具体我们来看一看 。
第一种情况:你是一个大牛
大牛是可以不写文档的 , 他们的产品代码本身 , 就是众人学习和使用的对象 。 并没有人关心大牛是怎样具体实现某个过程的 。 很多人甚至会为大牛写的代码写应用文档 , 比如说网上一搜nginx配置 , 就会有很多人告诉你该怎样使用它 , 甚至还会有专著来剖析你是怎样写代码的 , 会有很多类似于《深入理解nginx》之类的书籍出现 。
因此 , 如果你是一位大牛的话 , 是可以不用写文档来让别人理解你的设计思路的 。 你只需要说Tald is cheap show me the code就好 。
第二种情况:需要快速完成原型
在很多情况下 , 比如说移动互联网早期的很多创意 。 它们具有两个特点 , 一是要快速拿出来让终端用户看到你要做一个什么东西 , 提供什么功能 。 二是如果没圈到钱 , 这东西可能就直接扔了 。 不会有人再看一眼 。 那么这种就不用写文档了 。
第三种情况:你的项目后续会有人看有人改
有些项目 , 尤其是一些传统行业的应用软件 , 例如说财务 , 军工等 。 其指标和参数非常的重要 , 那么整个软件的设计思路 , 每个参数的决策过程 , 那就非常重要了 。 尤其是后续需要进行优化和修改的时候 , 如果不清楚整个的决策过程 , 则很有可能出大问题 。 在这种情况下 , 文档就非常重要了 。 文档是需要留给后来者的 , 因此很多文档中途会有设计变更的过程 , 最终定稿的版本是要和软件一一对应的 。 从而有效为后来者提供支撑 。
第四种情况:如果你想提高软件设计能力
写文档过程的本质上是对软件整体进行思考的过程 , 没有这个思维锻炼的过程 , 很难成为一名好的程序员 , 更不可能成为一名好的架构师 。 例如之前网上热烈讨论的求两个数平均值的问题 。 一般人不仔细想的话 , 那么就简单的
但是这种算法在数据很大的时候 , 就会存在数据溢出 , 导致结果失败 。 所以如果没有在做设计的时候充分考虑到各种可能 。 就不可避免地会存在问题 。 而写文档 , 则是尽可能避免问题的一个重要方法 。
第五种情况:当你的程序一直在线运行并且会不断有新人修改的时候
如果你写的代码长期在线稳定运行 , 但是时不时会有新的功能或bug需要修改 。 那么不可避免的 , 你将会被无知的新人骚扰很多次 。 而且很多可能还是很二逼的新人 。 那么这种情况下 , 最好的方法就是 , 扔给他一堆文档 , 告诉他自己去看 。
在你的工作里 , 还遇到过哪些情况呢?欢迎在评论区讨论哦 。
活在信息时代的其它文章:
想学机器学习?这几种算法你需要掌握
- 苹果|成本上涨三倍也要剔除国产供应商:苹果想成为下一个三星?
- 电子商务|程序员会被人工智能给替代吗?
- C++|发布仅一个月跌至3299元,12GB+512GB,150W闪充旗舰618跌至新低
- 运营商|它是2022年第一季度的销量冠军,其中一个方面领先安卓旗舰2年
- 索尼|索尼预计下一个财年PC端就可赚3亿美元
- 小姐姐|当小姐姐遇上国产新机,犀利点评:三处长板一个不足
- |三年疫情一个淘宝商家的心声
- 微单|一个像850D后续机,一个像R6半幅版,佳能新微单R7和R10怎么选
- 电池|光猫仅一个千兆口,少花钱让手机电脑等多设备享受千兆网络
- 百度|作为一个程序员,要不要写文档?