可工作的软件胜过面面俱到的文档

正在看一本书,书上讲到一个观点,“可工作的软件胜过面面俱到的文档”,这一点我一直都很认可,在平时工作中也是依据这一观点不写详细设计文档就开始编码,设计过程只做比较粗略的概要设计,但是涉及到数据库设计的话,会做好数据库的详细设计再做编码。

可能是自己的技术能力还不够,无法在编码之前就将所有涉及到的问题都想明白,然后做出非常详细的设计,我会急于写代码,让软件先有一个可运行的原型,如果原型代码写得好,就不改动,直接测试上线运行,但是多数情况都会做一下重构,增加一些注释,规范一下命名,提取可重用的代码,精简代码,提升代码质量,优化运行性能等。以至于整个软件做完上线后,我也没有一个详细的设计文档,不够我自认为我写文档的能力不行,实在写不出高质量的文档。

接手别人的半路项目,在了解功能后,我也会直接看代码,文档什么的看不出来什么结果,看了文档也不知道bug在哪,怎么修改程序。

文档也是重要的,至少需求文档和概要设计以及操作手册这几个文档是必须需要的,能够有详细设计文档当然也是很好的,只是说可工作的软件才是最主要的最重要的。这个观点不针对产品的销售和技术支持,只针对研发以及维护人员。

转载于:https://www.cnblogs.com/chouchoucoder/p/3518560.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解密阿里云七武器之高性能消息服务ONS

2019独角兽企业重金招聘Python工程师标准>>> 7月22日,首届阿里云分享日上,阿里云正式对外发布了企业级互联网架构解决方案,该服务由EDAS应用框架、ONS消息队列、DRDS分布式数据库组成,能有效解决企业上云后网站过载、性…

php动态数组的用法

// 创建连接 $con new mysqli($servername, $username, $password, $dbname); // Check conection if ($con->connect_error) {die("连接失败: " . $con->conect_error); }$sql "SELECT * FROM table limit 0,1000"; $result $con->query($sql…

MySQL划重点-查询-条件

查询的基本语法select * from 表名; 消除重复行在 select 后面列前使用distinct 可以消除重复的行 select distinct gender from students;一、条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中语法如下 select * from 表名 where 条件;select *…

高数.........

高数70你敢信???临考前各种复习做卷子 各种认真 考试的时候感觉题目也都能做 尼玛连上平时分才给我70? 特么我是不信 打电话问问老师 如果没录错果断重修 郁闷转载于:https://www.cnblogs.com/ahu-shu/p/3520249.html

windows服务器下的ftp server搭建

软件下载链接:http://pan.baidu.com/s/1eQJbmUY ftpserver1.下载后打开。2.运行安装3.安装目录选择。这里我选择安装在C盘的FTP目录下,直接填写即可。这个安装目录可随意设置。4.安装启动。查看使用教程,添加用户名,设置密码&a…

WordPress获取当前分类ID的四种方法

WordPress获取当前分类ID的四种方法 时间: 2015-01-05 所属栏目: Wordpress教程 作者: WP管理员之家 关键词: wordpress,分类ID 关注热度: 4,346 次 (1条) WordPress获取当前分类ID的方法有很多,今天我来给大家总结一下吧,wordpress主题定制专家-WP管理…

linux笔记_20150825_linux下的软件工具唠叨下

这些都是书上看到的,有些工具我也没有完全用过。先记下来再说。闲着也是闲着。 1.linux下常见的语言及编程环境:c/c/java/perl/fortan等. 2.图形环境:gnome/kde/gimp/windowmaker/icewm等. 3.编辑器:xemacs/vim/gedit/pico等. 4.shells:bash/tcsh/ash/cs…

扩展编写jquery插件的方法

比如要扩展验证功能(jquery.validate.js)中的 messages: { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid …

WordPress窗体化侧边栏

窗体化侧边栏是一个支持 Widget 的侧边栏或者说是窗体化(widgetized)的侧边栏几乎是 WordPress 主题的标准。 首先,什么是窗体化(widgetizing)呢?简单的说,窗体化就是能够通过拖拉就能够整理侧边…

EditPlus3 添加 PHP代码格式化

https://www.jb51.net/softs/23113.html 整合PHPCB到EditPlus: EidtPlus:工具》配置用户工具…》添加工具: 菜单文本:PHPCB 命令:浏览到PHPCB程序。 参数:--space-after-if --optimize-eol --space-aft…

1-17

今天很慵懒啊,啥事也没做,把高精度复习了一遍(hdu1002)。 首先俩字符串数组输入,然后按字符串的长度逆序转到整形数组里 (主要是为了把数值的最低位移动到数组的最低位,方便进位)&am…

FTP下载导致Zip解压失败的原因

情形:网关通过FTP下载快钱对账文件时通过Apache下commons-net的commons-net-3.5.jar进行封装,对账文件中有中文和英文的文字,大部分情况下能够下载成功,而且也能解压成功。但是偶尔会出现下载了zip的文件,但是解压失败的情况。解决…

SNMP学习之结构体snmp_secmod_def

此结构体中定义了各个回调函数,在函数init_ksm(E:\code\net-snmp-5.4.2.1\snmplib)中进行了初始化。 void init_ksm(void) { struct snmp_secmod_def *def; // 申请内存 def SNMP_MALLOC_STRUCT(snmp_secmod_def); // 初始化回调函数 def-…

iOS 多参数 ...NS_REQUIRES_NIL_TERMINATION 的写法

1.很早就看到项目里面有下面这样的写法 1 - (id) initWithTitle:(NSString *)title items:(MXContextMenuItem *)item, ... NS_REQUIRES_NIL_TERMINATION; 2.查了点资料,自己练习了下,试着写了个 1 //.h 2 - (NSString *)addMoreArguments:(NSString …

可视化WEB开发 -资料收集

DDDL Studio 版本,一直没有更新,不知道,还能不能用

Golang package

今天,灵感一现:不能一个文件干到底吧,那要是工程大了怎么办? 答案很简单,“包”啊 GO里的包,看起来很简单,但又不简单 一开始,我想当然的以为就是include 路径一样的问题 事实是&…

zabbix通过JMX监控Tomcat及一些报错

软件包下载地址:Wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.11/bin/apache-tomcat-7.0.11.tar.gz#安装jdk:Mkdir /usr/lib/jvmTar xf jdk-7u45-linux-x64.gz -C /usr/lib/jvm#在profile追加以下内容 Vim /etc/profileJAVA_HOME"/usr/lib/jvm/j…

文件的输入/输出操作

10.1 文件I/O操作概述 在Linux系统中,文件I/O操作可以分为两类,一类是基于文件描述符的I/O操作,另一类是基于数据流的I/O操作。 10.1.1 文件描述符简介 在文件操作一章中,也经常提到文件描述符这个概念。所谓文件描述符&#xff0…

KVM(多电脑切换器)

KVM:Keyboard Video Mouse的缩写。KVM 交换机通过直接连接键盘、视频和鼠标 (KVM) 端口,让您能够访问和控制计算机。KVM 技术无需目标服务器修改软件。这就意味着可以在 Windows 的 BIOS 环境下,随时访问目标计算机。KVM 提供真正的主板级别访…