热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

开发人员,请不要抱怨项目没有文档

每当我们切入一个新项目时,我们发现项目中的文档总是少的可怜,而且里面的设计与当前的系统设计严重不符,有些甚至在架构上出现了严重的偏离。于是我们问待交接人,为什么项目中只有这么点文档,而且文档的

每当我们切入一个新项目时,我们发现项目中的文档总是少的可怜,而且里面的设计与当前的系统设计严重不符,有些甚至在架构上出现了严重的偏离。于是我们问待交接人,为什么项目中只有这么点文档,而且文档的内容也不准确?他们振振有词的告诉我们:这个项目的开发周期非常紧张,而且需求经常发生变化,他们根本没有时间去维护文档,里面的那份文档,是很久之前加班补的。要想看详细的设计,就去看代码吧,代码就是最好的文档。

 
    听到这里,有些人也许会以为项目中的代码写的多么的酷,每个类都是按照教科书中的格式体去注解的。但当我们看完一个流程的代码之后,就开始喷血。代码中的注释就像食堂免费粥中的米粒一样稀少,而有些注释竟然是Todo体(Todo:  YYYY年MM月DD日 Modified By XXX  Invest some method to make it perfect)。看到这,我们恨死了那该死的代码就是文档。面对这样的项目,我们开始感叹,为什么大家就不能规范一下自己的代码呢?为什么不能多写点文档留给后来人呢?为什么当初要死要活的换项目?
 
    在这个项目上经历了无数个日夜的摧残之后,终于有一天,我们要离开这个项目了。开始大喜,宴请四方同事,我们终于解放了,获得自由了。以后再也不用看这个烂项目了。于是开始准备交接工作,然后走人。
 
    新来接手的同事看到项目上少的可怜的文档,开始发问: 为什么项目中只有这么点文档,而且文档的内容也不准确?我们振振有词的告诉他们:我们刚接手这个项目时,文档比现在还要少,而且都是错的。这个项目开发周期紧,经常加班,没有时间去整理文档。要看详细的设计,就去看代码吧,代码就是最好的文档。
 
    代码就是文档,所有的程序员都听惯了这句话,也恨透了这句话。因为这句话,几乎伤害过每一个程序员。每当看到不严谨的注释时,心里总是会先把这段程序骂一顿,然后再开始骂写这段程序的人。我们总是觉得别人的代码写的不够好,而自己的代码写的很严谨。可是,当别人开始看我们的程序时,他们也总是把我们的代码骂一顿,然后再来骂我们。这就是典型的程序员相轻。
 
    代码写的不好也就算了,可是偏偏又没有响应的文档,这叫人怎么可以忍受的了呢?每一个参与过敏捷开发的人,都知道项目的周期很紧,工作强度很大,在程序开发的某一个阶段,可能真的没有时间写文档。但是在项目的整个开发周期中,并不总是很忙的,如果想要写文档,肯定能找到时间的,如果说没有时间写文档,那就是找借口。即使真的在工作时间没有时间写文档,我们也应该利用自己的时间去把这些设计文档补上,这些文档不但对于后来人的理解有很大的帮助。对于自己来说,也是有莫大的帮助,这些文档能够帮助我们更好的理解这个项目。
 
    作为开发人员,请不要抱怨项目没有文档。如果项目没有文档,我们应该及时的补上这些文档,并用这个好习惯去影响别人,并传递给别人。如果人人都不偷懒,认真写文档。那时候,项目就不再缺少文档,我们也不用苦苦去看代码,不用为代码就是文档而发愁。给别人铺路,就是给自己铺路。让我们严格要求自己,从传递文档开始做起,让程序员的世界越来越美好。

欢迎大家访问我的个人网站 萌萌的IT人

推荐阅读
  • 非公版RTX 3080显卡的革新与亮点
    本文深入探讨了图形显卡的进化历程,重点介绍了非公版RTX 3080显卡的技术特点和创新设计。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨了一家企业的制度体系重构与升级过程,通过具体案例展示了如何在战略意图和管理理念指导下,系统性地提升企业管理制度的有效性和可操作性。 ... [详细]
  • 如何优化2060显卡设置以提升《Apex英雄》游戏体验
    《Apex英雄》作为一款热门的战术竞技游戏,吸引了大量玩家。本文将探讨如何通过优化GeForce RTX 2060显卡设置,确保在《Apex英雄》中获得最佳性能和流畅的游戏体验。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
author-avatar
抵达不了了的叫幸福_999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有