从0开始做SAAS-技术文档篇

        我们很多同学拿到需求,习惯上手就撸代码,业务记在脑子里,设计记在脑子里,踌躇满志要一口气就写完,吭哧吭哧干得热火朝天。三层架构、设计模式、DDD 先架构一波,代码写得差不多了:我CA,业务链过长脑子里的设计错了,改设计。 怎么改全在脑子里改,改完了继续直接撸代码,以此往复累得不行。

        有次给个需求给个兄弟,我说这个需求只有一周时间,细节点多比较复杂,你可以写个详细设计不容易出错。兄弟给我讲:时间这么少哪有时间写文档?我当时有点愣。

        其实我发现这个现象不仅是少数,大多数技术同学都忘记了软件工程中,讲开发一个项目的主要过程:

        1. 需求调研

        2. 可行性分析

        3. 立项

        4. 组建项目组,指定项目经理(负责人)

        5. 需求分析

        6. 概要设计

        7. 创建WBS

        8. 详细设计

        9. .……

        大家不用全部都看重点看看 5.6.7.8 , 这四个节点,都是要输出文档的,为什么?文档究竟有什么作用?讲讲我的理解,如下 :

        文档除了项目管理上讲的那些组织过程资产啊,交流之用啊、契约等之外,还有一个很大的作用,就是帮助我们技术同学自己。曾经有一位前辈跟我说,写文档是写给自己看的,这句话我记住了并且它成为了我的财富。 我其实也是过来人刚开始的时候不写文档不写设计,后来我发现写文档真香。我将这个经验总结成《532 法则》:50 % 的时间用来写文档, 30% 的时间写逻辑,20%的时间写单测。可能会有所偏颇但不影响,我们不妨以详细设计为案例来拆解下:

        => 写详细设计文档的时候我们用的是通用语言来描述业务,包含了:理解业务、思考逻辑、逻辑转换成通用语言

        => 直接写代码我们用的是编程语言,包含了:理解业务、思考逻辑、逻辑转换成通用语言,通用语言转成编程语言

        这两个基本上差不多,但是前者并发的只有三件事, 后者并发的却有四件事,我们的大脑在相同的时间内压力增加了。所以负面情绪更容易滋生。而且一旦出现设计错误,要按“理解业务、思考逻辑、逻辑转换成通用语言,通用语言转成编程语言” 这个模型再来一遍, 来得越多消耗越大。这就是为什么我鼓励写文档的原因,很多同学觉得写文档是写给别人看的,是额外的工作量,其实不完全是,文档就象是小黄鸭,也是帮助我们自己理清思路,降低成本的。

        计算机为什么在数据处理上比人要快,一是因为它是机器不知道累,二是因为它分内存+磁盘,它将次要信息存储在磁盘,需要用它的时候才加载到内存,内存就象我们的大脑,磁盘就象我们的文档。写在那它就持久化了不用的时候不需要担心它会丢失记不住,内存用于高效运算是宝贵的资源,要善于利用,这也是我鼓励写文档的一个终极原因。

        最后总结下:

        写详细设计不只是为了公司,也是为了自己

        写详细设计有助于理清思路,文档相当于一个小黄鸭

        对一个成熟的程序员来说,写好详细设计了开发工作基本上就完成 50%了

        文档还是有用的,加油

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爬上树顶

打赏可验证我能否靠此文财务自由

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值