程序员如何写好设计方案
最近自己在写设计方案,改了挺多版的。感觉设计方案的书写也很有讲究。
我们程序员写设计方案跟产品经理写设计方案不一样。产品经理写的设计方案是真正的设计方案,因为他不知道应该怎么实现这个内容。
程序员在写设计方案的时候很可能已经想好了代码应该怎么写,用什么数据结构,甚至会把实现的代码直接放在设计方案上,这样的操作是不可取的。
设计方案的核心是设计。
设计方案写完后应该有这样的效果:一个不懂这方面知识的人看了你的设计方案,就能自己实现一个这样的系统,并且知道这样的系统的实现有哪些关键点需要注意。
设计方案第一部分应该写:背景是怎样的,做什么事情,这么做有什么好处。
第二部分介绍整体的框架,整体的架构,有哪些模块,最好画一个系统模块的结构图。
第三部分具体介绍各个模块具体做的内容,用了哪些数据结构,每个数据结构有什么用,其中比较重要的函数的流程是怎样的。
这样写下来,一个至少不算差的设计方案算是完成了。
程序员如何写好设计方案相关推荐
- sis防屏蔽程序_程序员如何写一份更好的简历
01 引言 面试前要准备的第一件事就是写简历,从零开始写简历是一件痛苦的事,因为它既重要又耗时.现在就有很多求职者在电脑前急躁不安地搜索简历模版和参考例句,却不知道如何下笔.写得太短的话HR一定觉得没 ...
- [转]为什么程序员总是写糟糕的代码?这3个原因
原文请看:为什么程序员总是写糟糕的代码?这3个原因 我最近一直在想我们作为一个行业为什么总是产出糟糕代码的原因. 1.明显原因-- 我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有 ...
- 程序员如何写简历?来自硅谷的八条建议
转载自 程序员如何写简历?来自硅谷的八条建议 前言 半个月前我发起了程序员内推项目之后,收到一些邮件,对方单纯希望我帮忙优化一下简历.我提了一些修改意见之后,有一位同学专门给我送了一张亚马逊的礼品卡 ...
- 有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,
题目:有一个小白程序员,写了一个只能对5个数字进行排序的函数,现在有25个不重复的数字,请问小白同学最少调用几次该函数,可以找出其中最大的三个数? A.5 B.6 C.7 D.8 答案:C 解析:第一 ...
- 卖掉 3000 平房子,50 岁程序员回国写代码,三个月内融资 2000 万美元
2019年7月12日,10多万行C代码的中国物联网大数据平台 TDengine 在 GitHub开源,立即冲上 GitHub 榜首,整整五天霸榜 GitHub.目前该项目在 GitHub 上 Star ...
- 技术总监谈好的程序员如何写代码[转]
技术总监谈好的程序员如何写代码[转] 要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码. 即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的 ...
- 程序员如何写好技术简历 —— 实例、模板及工具
by @Easy 前言 光是做人才拍卖这几个月,我就看了几千份技术简历,觉得很感慨.有太多程序员因为不知道如何表达自己,而埋没了自己的才华,拿着原本可以拿到一半的薪资,在一家默默无闻的公司里边加班到深 ...
- 哪款笔记本电脑最适合程序员学习写代码?结果我竟无言以对
话题内容转自:哪款笔记本电脑最适合程序员学习写代码?结果我竟无言以对 今天小编在网上看到网友们讨论什么样的电脑最适合程序员学习写代码?小编根据前两天发的那篇了解腾讯华为员工生活状况的文章,心想肯定是M ...
- 程序员老鸟写sql语句的经验之谈
程序员老鸟写sql语句的经验之谈 做管理系统的,无论是bs结构的还是cs结构的,都不可避免的涉及到数据库表结构的设计,sql语句的编写等.因此在开发系统的时候,表结构设计是否合理,sql语句是否标准, ...
- 整理UML建模概念和图形~(啥?程序员不再写代码,变成画图工程师?)
前言: 工程图纸对于工程师的重要性就不需要我多说了吧,对事物建模也是很重要的.我们在软件工程部分说过"建造一个狗窝和一栋大厦是完全不一样的",很多时候如果你有很好的idea,但是对 ...
最新文章
- 微博并发这么牛逼!看他架构如何设计的?
- 固态硬盘上安装centos_固态硬盘使用f2fs作为根分区安装linux
- JAVA线程间协作:wait.notify.notifyAll
- Flink-环境搭建
- 计算机网络学习笔记(7. 报文交换与分组交换①)
- 拼接播放地址_西安户外did拼接屏批发业务广泛_金伟达电子
- C++ STL 学习笔记__(6)优先级队列priority_queue基本操作
- 你真的了解Android ViewGroup的draw和onDraw的调用时机吗
- 阶段3 3.SpringMVC·_07.SSM整合案例_07.ssm整合之编写MyBatis框架测试保存的方法
- wince 音频学习
- 交接文档怎么写_怎么写一篇实用的需求说明文档
- powerBI发布到web,管理员权限设置
- 【机器学习】详解 ArcFace
- 数学脱式计算在线计算机,四年级数学脱式计算练习400题
- React+ant中的Form表单的刷新
- java卡夫卡_卡夫卡(kafka)
- Linux基础----文件管理、用户管理、用户权限
- Android 6.0 状态栏信号图标分析
- 常见的数据埋点方式介绍
- 学生身份你可以干什么?
热门文章
- 信息安全基础练习题(看完包过)
- myssql基于Spring Boot的宠物猫店管理系统的设计与实现毕业设计源码140909
- 多线程下载王者荣耀高清壁纸
- 小学C++编程入门书籍及相关资料介绍(一)
- line划线计算机图像学,《计算机图形学基础》OpenGL中点画线法画直线(同时支持k1和k1的情况)...
- 最新版腾讯防水墙(二代)识别
- Traceback (most recent call last):
- ECCV2020 点云处理——A Closer Look at Local Aggregation Operators in Point Cloud Analysis
- Qt中容器类型控件介绍
- win10休眠_最牛的win10优化设置方法大全