当前位置: 首页 > news >正文

《码农经验手册》-拿到需求写代码前,要思考的问题有哪些?

1.在开始写每行代码之前,先把问题彻底理解并理清所有的逻辑判断。写出伪代码。
2.对需求进行分析,想清楚最终运行的目标结果是什么,输入输出,以及最终要运行的环境。
3.我开始用文字写出过程的样子。例如,我从如何存储所有输入开始,我将如何生成输出,我将存储它以及如果需要显示我将如何显示。
4.画出数据流程图,理清展示逻辑。数据经过哪些逻辑节点,最终进入哪个存储,以及如何展示。
5.列出测试用例。想好如何测试这个程序,写出关键的test case。
6.在程序会用到的开源库有哪些,选出最适合当前程序的那个。
7.考虑多线程的运行环境,程序能否正常运行(考虑资源竞争,锁,线程同步等问题)。
8.异常捕获和日志。在哪个层面捕捉异常,如何记录日志达到快速诊断的目的。
9.写代码。

相关文章:

  • 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之9---移动增值业务产业链...
  • 《码农经验手册》-新手和老司机
  • Azure 聊天机器人-1 环境搭建
  • Azure 聊天机器人2
  • 通过Socket configuration controls 获取网络设备地址
  • vim amp; emacs color Scheme
  • Azure 聊天机器人3-集成luis(语言识别)服务
  • Azure聊天机器人4-实现luis dialog
  • Oprofile工具的使用
  • C# 自然语言处理1-识别文字到语音
  • 在wxPython中使用OpenGL
  • C#自然语言处理2-识别语音并执行进程
  • Winforms:只读TextBox的文字颜色不随ForeColor的改变而改变
  • c# OpenCV -1 直接比对两张图片
  • 快速LightMap烘焙
  • hexo+github搭建个人博客
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Mac转Windows的拯救指南
  • Netty源码解析1-Buffer
  • nodejs:开发并发布一个nodejs包
  • node学习系列之简单文件上传
  • vue-loader 源码解析系列之 selector
  • 不上全站https的网站你们就等着被恶心死吧
  • 大数据与云计算学习:数据分析(二)
  • 关于Java中分层中遇到的一些问题
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 聊聊directory traversal attack
  • 聊聊flink的TableFactory
  • 项目实战-Api的解决方案
  • 一、python与pycharm的安装
  • 一道面试题引发的“血案”
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 2017年360最后一道编程题
  • ionic异常记录
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (26)4.7 字符函数和字符串函数
  • (差分)胡桃爱原石
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (七)Java对象在Hibernate持久化层的状态
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (原)本想说脏话,奈何已放下
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)甲方乙方——赵民谈找工作
  • (转载)Linux网络编程入门
  • .net core控制台应用程序初识
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作