在我的程序员生涯中,悟出了以下的一个程序编码流程;期间也接触了很多其它的理论和想法,但是我还是觉得这是最适合我的。

大致的样式是这样的:

  • 多思考(Think a bit)
  • 多编码(Code a bit)
  • 多测试(Test a bit)
  • 再来一遍(Go to Step 1)


第一步:多思考

有多少朋友会觉得,噼噼啪啪键盘节奏的快慢代表了程序生产力的高低?如果你也是这样想的,我希望你能在遇到问题时,先放一放,静心想一想。

如果思考的时候,觉得无从下手,不妨先问问自己:究竟要做什么? 一旦安静下来,这个问题的答案将会使我们辨清方向或者重新考虑问题的处理方法。

下一步,我会建议思考这个问题:自己是否把简单问题复杂化了? 尝试用最简单的办法来解决问题是每个程序员应该为之努力的目标。但当我们掌握了足够多的学识时,用如此简单的方法来解决问题是否大材小用了?如果这样想,或许最后找上我们的却是一堆堆越来越复杂的问题。尝试转一下思路,用简单的办法解决问题会导致最坏结果是什么呢?是比不能解决问题更差吗?学会跳出牛角尖,这一点很重要。

因此,在遇到问题时,不妨多问问自己以上几个问题。而当进行到一个瓶颈位置,进退维谷时,我会考虑进入下一步。

第二步:多做

我觉得这是最有趣的一步。因为很多时候,编程对于我们来说更像是打游戏,不是吗?但是要避免过犹不及。正如前述,当发觉做了无用功时,应该适当转变思路,并再次提醒自己:是否朝着既定的方向前进。

然后,我们接着做下一步。

第三步:多测试

实不相瞒,这一步不仅没有编码那么趣味盎然,甚至还十分让人烦恼。

但是,没有测试环节的项目,我建议还是在个人的开源项目中进行吧;因为不经过测试而发布的,应该没有多少人敢用。

除了烦恼,测试可能也是编码过程中最复杂的一个环节了。有别于编程那样的所见即所得,要找出最优的测试方案可得花上成倍的努力。测试的特点就是充满不确定性。

有的朋友采用的是测试驱动的开发方法,我的看法是:这是好的,但请坚持到底。对于我来说,如果是高度算法集中的项目,我也会采用该方法。

第四步:再来一遍

问题的解决很多时候都不是一蹴而就的,一遍下来的循环和反馈是至关重要的。打造软件的过程是一个不断学习的过程,不断学习加强技术和问题处理的能力。一个好的策略是遵循计划->执行->反思的过程来进行。

小结

以上就是我个人的一些有关编码流程的见解。时至今日,随着越来越多的便捷开发工具的推出,以上这四步流程走得更顺畅了。所以,请不妨试试吧。

转载于:https://www.cnblogs.com/qihuan/p/3819707.html

我的编程认知:多思考、多编码、多测试相关推荐

  1. 提高C++性能的编程技术笔记:编码优化+测试代码

    缓存:在现代处理器中,缓存经常与处理器中的数据缓存和指令缓存联系在一起.缓存主要用来存储使用频繁而且代价高昂的计算结果,这样就可以避免对这些结果的重复计算.如,循环内对常量表达式求值是一种常见的低性能 ...

  2. Java黑皮书课后题第6章:*6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧、右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1

    6.39(几何:点的位置)编程练习题3.32显示如何测试一个点是否在一个有向直线的左侧.右侧或在直线上,编写一个程序,输入三个点p0p1p2,显示p2是否在直线p0p1 题目 题目描述 编程练习题3. ...

  3. http协议里的chunked编码与测试

    http协议里的chunked编码与测试 如果有写过http下载的人,或多或少了解一点chunked编码的传输方式.例如笔者最初不知道这个http传输方式,以前能行的代码有一天就突然不行了,抓包才发现 ...

  4. 如何构建一个ERP系统(需求分析、系统架构、系统设计、系统编码、测试、交付程序及文文件)。

    如何构建一个ERP系统(需求分析.系统架构.系统设计.系统编码.测试.交付程序及相关文件).  ERP 系统 _ 需求分析: 一般 ERP 系统的功能是非常繁多的,既包括财务会计. OA .进销存等几 ...

  5. 盲人编程_盲人如何编码

    盲人编程 About one out of every 200 software developers is blind. We know this because Stack Overflow as ...

  6. 编程通用知识 字符编码(ascii,unicode,utf-8)

    ascii,unicode,utf-x都是文字和数字的映射, 因为计算机只能存储数字. ascii 1.早起用8位二进制来编码英文(最前面以为是0,实际只用了7位),既产生了128个元素的ascii码 ...

  7. 腾讯华为等企业c/c++/java编程风格 及个人编码模板

    一.在程序的版式上 1.程序块要采用缩进风格编写 ,缩进的空格数为 4 个. 原因说明: 由开发工具自动生成的代码可能不一致,但如果开发工具可以配置,则应该统一配 置缩进为 4 个空格. 2.缩进或者 ...

  8. 算法面试题-美团点评2016研发工程师编程题(二)-字符编码(哈夫曼树)

    题目: 解析:这个题目的关键问题是"最短的编码",这里可以知道应该是Huffman编码了. 哈夫曼编码是一种可变字长编码,也就是说对于不同的字符的编码不是定长的,所以才能比定长编码 ...

  9. ffmpeg实现摄像头拉流_利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统...

    了解过ffmpeg的人都知道,利用ffmpeg命令即可实现将电脑中摄像头的画面发布出去,例如发布为UDP,RTP,RTMP等,甚至可以发布为HLS,将m3u8文件和视频ts片段保存至Web服务器,普通 ...

最新文章

  1. 如何看待研究生导师直接说你写的论文就是垃圾?
  2. 极客新闻——10、Java工程师应该如何成长?
  3. 混沌图像---三翅鹰
  4. Oracle的三种循环
  5. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
  6. 在 ASP.NET Core 5.0 中访问 HttpContext
  7. Ubuntu帮大忙了
  8. 图论及其应用 2017年期末考试 答案总结
  9. 常见计算机故障维修实验报告,实训报告12微机常见故障处理实训报告
  10. IBPS java工作流引擎介绍
  11. 平面/球面坐标中已知起点坐标、(偏转)角度、长度求终点坐标(三角函数)
  12. 拼音打字时不定时出现重复字母
  13. win7 批处理文件默认以管理员身份运行及清除IE缓存脚本
  14. UVA11584划分回文串
  15. Windows Server 2008 使用“net use”挂载网络共享时“发生系统错误53”的解决方案
  16. APUE编程:83---信号处理(SIGABRT信号与abort函数)
  17. 问题 B: 不同出栈情况(栈和队列)
  18. 海康三维视频融合监控软件系统免费版,支持移动侦测告警
  19. 从备份升级到容灾,利用华为云就可以做到的灾备方案
  20. 给出x.509证书的实例并分析其工作方式

热门文章

  1. 高强度的加密软件怎么制作
  2. Linux:计划任务之at
  3. cursor: not-allowed;
  4. 计算机中定义事物各种特点的术语,计算机科学中具有特殊含义或易溷淆的术语辨析(2版).doc...
  5. python 动态链接库_Python调用dll动态链接库(下)
  6. winxp系统的驱动可用于win2k吗?_收藏!工业机器人伺服系统常见问题汇总
  7. 我想说进厂打工怎么就丢人了
  8. 有什么激励你一辈子的句子?
  9. 现在开始全职跑滴滴,你怎么看?
  10. 省控线是什么意思,本科一批以及本科二批省控线是什么意思