我的编程认知:多思考、多编码、多测试
在我的程序员生涯中,悟出了以下的一个程序编码流程;期间也接触了很多其它的理论和想法,但是我还是觉得这是最适合我的。
大致的样式是这样的:
- 多思考(Think a bit)
- 多编码(Code a bit)
- 多测试(Test a bit)
- 再来一遍(Go to Step 1)
第一步:多思考
有多少朋友会觉得,噼噼啪啪键盘节奏的快慢代表了程序生产力的高低?如果你也是这样想的,我希望你能在遇到问题时,先放一放,静心想一想。
如果思考的时候,觉得无从下手,不妨先问问自己:究竟要做什么? 一旦安静下来,这个问题的答案将会使我们辨清方向或者重新考虑问题的处理方法。
下一步,我会建议思考这个问题:自己是否把简单问题复杂化了? 尝试用最简单的办法来解决问题是每个程序员应该为之努力的目标。但当我们掌握了足够多的学识时,用如此简单的方法来解决问题是否大材小用了?如果这样想,或许最后找上我们的却是一堆堆越来越复杂的问题。尝试转一下思路,用简单的办法解决问题会导致最坏结果是什么呢?是比不能解决问题更差吗?学会跳出牛角尖,这一点很重要。
因此,在遇到问题时,不妨多问问自己以上几个问题。而当进行到一个瓶颈位置,进退维谷时,我会考虑进入下一步。
第二步:多做
我觉得这是最有趣的一步。因为很多时候,编程对于我们来说更像是打游戏,不是吗?但是要避免过犹不及。正如前述,当发觉做了无用功时,应该适当转变思路,并再次提醒自己:是否朝着既定的方向前进。
然后,我们接着做下一步。
第三步:多测试
实不相瞒,这一步不仅没有编码那么趣味盎然,甚至还十分让人烦恼。
但是,没有测试环节的项目,我建议还是在个人的开源项目中进行吧;因为不经过测试而发布的,应该没有多少人敢用。
除了烦恼,测试可能也是编码过程中最复杂的一个环节了。有别于编程那样的所见即所得,要找出最优的测试方案可得花上成倍的努力。测试的特点就是充满不确定性。
有的朋友采用的是测试驱动的开发方法,我的看法是:这是好的,但请坚持到底。对于我来说,如果是高度算法集中的项目,我也会采用该方法。
第四步:再来一遍
问题的解决很多时候都不是一蹴而就的,一遍下来的循环和反馈是至关重要的。打造软件的过程是一个不断学习的过程,不断学习加强技术和问题处理的能力。一个好的策略是遵循计划->执行->反思的过程来进行。
小结
以上就是我个人的一些有关编码流程的见解。时至今日,随着越来越多的便捷开发工具的推出,以上这四步流程走得更顺畅了。所以,请不妨试试吧。
转载于:https://www.cnblogs.com/qihuan/p/3819707.html
我的编程认知:多思考、多编码、多测试相关推荐
- 提高C++性能的编程技术笔记:编码优化+测试代码
缓存:在现代处理器中,缓存经常与处理器中的数据缓存和指令缓存联系在一起.缓存主要用来存储使用频繁而且代价高昂的计算结果,这样就可以避免对这些结果的重复计算.如,循环内对常量表达式求值是一种常见的低性能 ...
- Java黑皮书课后题第6章:*6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1
6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧.右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1 题目 题目描述 编程练习题3. ...
- http协议里的chunked编码与测试
http协议里的chunked编码与测试 如果有写过http下载的人,或多或少了解一点chunked编码的传输方式.例如笔者最初不知道这个http传输方式,以前能行的代码有一天就突然不行了,抓包才发现 ...
- 如何构建一个ERP系统(需求分析、系统架构、系统设计、系统编码、测试、交付程序及文文件)。
如何构建一个ERP系统(需求分析.系统架构.系统设计.系统编码.测试.交付程序及相关文件). ERP 系统 _ 需求分析: 一般 ERP 系统的功能是非常繁多的,既包括财务会计. OA .进销存等几 ...
- 盲人编程_盲人如何编码
盲人编程 About one out of every 200 software developers is blind. We know this because Stack Overflow as ...
- 编程通用知识 字符编码(ascii,unicode,utf-8)
ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字. ascii 1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码 ...
- 腾讯华为等企业c/c++/java编程风格 及个人编码模板
一.在程序的版式上 1.程序块要采用缩进风格编写 ,缩进的空格数为 4 个. 原因说明: 由开发工具自动生成的代码可能不一致,但如果开发工具可以配置,则应该统一配 置缩进为 4 个空格. 2.缩进或者 ...
- 算法面试题-美团点评2016研发工程师编程题(二)-字符编码(哈夫曼树)
题目: 解析:这个题目的关键问题是"最短的编码",这里可以知道应该是Huffman编码了. 哈夫曼编码是一种可变字长编码,也就是说对于不同的字符的编码不是定长的,所以才能比定长编码 ...
- ffmpeg实现摄像头拉流_利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统...
了解过ffmpeg的人都知道,利用ffmpeg命令即可实现将电脑中摄像头的画面发布出去,例如发布为UDP,RTP,RTMP等,甚至可以发布为HLS,将m3u8文件和视频ts片段保存至Web服务器,普通 ...
最新文章
- 如何看待研究生导师直接说你写的论文就是垃圾?
- 极客新闻——10、Java工程师应该如何成长?
- 混沌图像---三翅鹰
- Oracle的三种循环
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
- 在 ASP.NET Core 5.0 中访问 HttpContext
- Ubuntu帮大忙了
- 图论及其应用 2017年期末考试 答案总结
- 常见计算机故障维修实验报告,实训报告12微机常见故障处理实训报告
- IBPS java工作流引擎介绍
- 平面/球面坐标中已知起点坐标、(偏转)角度、长度求终点坐标(三角函数)
- 拼音打字时不定时出现重复字母
- win7 批处理文件默认以管理员身份运行及清除IE缓存脚本
- UVA11584划分回文串
- Windows Server 2008 使用“net use”挂载网络共享时“发生系统错误53”的解决方案
- APUE编程:83---信号处理(SIGABRT信号与abort函数)
- 问题 B: 不同出栈情况(栈和队列)
- 海康三维视频融合监控软件系统免费版,支持移动侦测告警
- 从备份升级到容灾,利用华为云就可以做到的灾备方案
- 给出x.509证书的实例并分析其工作方式
热门文章
- 高强度的加密软件怎么制作
- Linux:计划任务之at
- cursor: not-allowed;
- 计算机中定义事物各种特点的术语,计算机科学中具有特殊含义或易溷淆的术语辨析(2版).doc...
- python 动态链接库_Python调用dll动态链接库(下)
- winxp系统的驱动可用于win2k吗?_收藏!工业机器人伺服系统常见问题汇总
- 我想说进厂打工怎么就丢人了
- 有什么激励你一辈子的句子?
- 现在开始全职跑滴滴,你怎么看?
- 省控线是什么意思,本科一批以及本科二批省控线是什么意思