编程是当今社会最为实用的技能之一。从能够创造一个公司网站到知道怎么修复一个重定向错误,这些技能带来的价值,不管是对雇主还是对程序员自身,都是无法估量的。

但是,保持你当前的状态,停滞不前,那你永远无法成为一个非常优秀的程序员。所以,请认真阅读下文,我总结了一些提升编程能力的小方法。

Step 1

清晰地分析问题。

如果在解决问题前不能先清楚问题,了解具体状况,那在解决问题时,会很容易卡壳或导致局面更加混乱。

Step 2

再三考虑如何解决问题。

整理解决方法,并再三考虑这些方法的可靠性,不建议盲目行动。

Step 3

总结完整的需求。

花一点时间写下产品需要达到的最终目标,并明确你的产品使用群体。在这个阶段有一个清晰的认知,会节省之后的大量时间。

Step 4

写一个完善的执行方案或搭建完整模型。

对于一些小项目,这一步你只需要画一个简单的流程图或者写一个简单的方程式。

对于一些更大的项目,你得把你的工作划分成一个个小模块,并思考以下问题:

    ● 每个模块需要完成的任务是什么● 模块之间的数据如何流通● 在每个模块里数据如何应用

虽然收集和计划需求这一步非常乏味,并且比直接写代码少了很多的乐趣。但是,如果没处理好这一步,之后花费数小时去Debug会更加的乏味。

花时间预先去设计项目的流程和结构,你在写下第一行代码前就会发现,这对于实现你的最终目标,非常有帮助。

Step 5

随时注释你的代码。

如果你觉得你的代码需要被解释,那么就大胆写下你的注释吧。每一个函数都需要一两行注释去解释参数和返回结果。

注释应该更加注重表达原因,而不是单纯解释作用。更新代码的时候请注意更新注释。

Step 6

对变量使用一致的命名规范。

这有助于帮你追溯变量类型,并了解变量的目的。这意味着你要写的代码不能仅仅是简单的x = a + b * c了。

当然,规范的变量可以使你的代码更容易调试和维持。目前流行的命名法是匈牙利命名法(驼峰式命名),变量名的前缀是它的类型。

比如,对于整数变量,你可以用intRowCounter命名,而字符串则可以用strUserName.

但不管你的命名规则是什么,一定要保证它的一致性,和变量名的可解释性。

Step 7

组织好你的代码。

用可视化的结构来表明你的代码结构。比如,在条件语句或者循环语句下缩进一个代码块。

在变量名和运算符间(加减乘除等)记得要空格,这是为了让代码看起来更美观,易读。

Step 8

测试每一处。

用输入和值来测试每个模块,然后尝试输入那些可能出现又不太常见的输入值。这会清理掉任何隐藏的bug。测试的艺术在于,你能够通过练习,逐渐锻炼出自己的测试能力。

测试的例子如下:

     ● 极端值:对于正数值,使用0和超出预期的最大数值来测试;对于文本值,则用空字符串测试;对每一个参数用null来测试。● 无意义的值:即便你不相信你的用户会输入乱七八糟的东西,也请输入来测试一下。● 不正确的数值:用0来测试那些会被用来做除法的值;当要求输入一个正数或者用来计算平方根的数时,你可以输入负数;当要求输入一个字符串时,你可以尝试输入一个数值。

Step 9

练习,练习,练习。

编程不是一个停滞不前的训练过程。总有新的东西需要学习,当然,更为重要的是,要不断复习那些旧的知识。

Step 10

随时准备好做出改变。

在现实的工作环境中,需求总是变化的。只要你一开始就对需求和所执行计划足够了解,那中途的变动也很少会导致糟糕的结果。

在开始编程前,你可以通过呈现需求文档或者执行计划来提升进程的清晰度。这会帮助你随时确认所做的事是符合要求的。

Step 11

从简单到复杂。

当你需要处理复杂的事情时,你可以先从构造简单的模块开始。比如说,你想在屏幕上创造一个可以跟随鼠标方向移动,且根据鼠标移动速度不断变化形状的图形。

你可以按照下方的步骤操作:

      ● 从呈现一个正方形开始,让它跟随鼠标移动,先解决移动路径问题。● 然后,让正方形的大小和鼠标速度关联起来,解决速度与形状间的关联。● 最后,创造出你本来需要的图形,并将三个元素关联起来。● 这个方法导向模块化代码编写,每个元素有其内部的完整模块。这对代码的重复使用非常有用,并且也会简化调试过程。

大家如果觉得以上的内容太过抽象,不妨来点实际的。

实验楼官网为想学习编程的同学提供了完善的虚拟操作环境,和从基础到进阶,再到高级的编程课程。

在这里,我们更强调的是个人实践动手写代码

想要开始学习编程的同学或者希望能找题练手的同学们,都可以登录实验楼,选择适合你的课程。

实验楼精选课程:

《Python 新手入门课》

《C++ 使用 openGL 实现吃豆人游戏》

《Java 编程语言基础》

《Python 异步网络编程实战》

《基于 Vue.js、Node.js 和 MongoDB 开发 DoraCMS》

《 Kubernetes 进阶(二):控制器、存储与网络 》

《C++ 实现 STL 标准库和算法》

本文为译文,原文为How to Improve Your Skills as a Programmer,链接https://www.wikihow.com/Improve-Your-Skills-as-a-Programmer

翻译:实验楼

11个提升编程能力的小方法相关推荐

  1. 经验分享:如何通过项目实践提升编程能力?

    本文经授权转载自微信公众号"crossin编程教室"(crossincode) 挑选编程实践题目的过程中,有些普遍被关注的问题,今天在这里集中聊一聊,包括我这些年指导学生的一点经验 ...

  2. 40个提升自己编程能力的小技巧

    40 个改变编程技能的小技巧 1.将大块代码分解成小函数 2.今日事今日毕,如果没毕,就留到明天. 如果下班之前还没有解决的问题,那么你需要做的,就是关闭电脑,把它留到明天. 中途不要再想着问题了! ...

  3. java怎么提升编程能力_怎样提升java编程能力

    1 怎样提升java编程能力 在互联网迅猛发展的时代,而我们如果对互联网一无所知,那就相当于文盲.所以很多人都想去了解它,去学习他.而作为互联网的产物--java,是一门非常不错的技术,学精通之后,你 ...

  4. 听说玩这些游戏能提升编程能力?

    游戏 == 编程 >>> True 电子游戏和编程充满联系.从雅达利兴盛的年代开始,游戏就已经开始影响一代又一代程序员.他们开发游戏,在游戏过程中获得快乐.随着机器学习的兴起,程序员 ...

  5. 完美结合,10款提升编程能力的游戏项目

    你是否记得以前的童年时代,你曾经花了一整天,有时甚至不吃饭来玩任天堂游戏(马里奥和魂斗罗....)的日子??? 真实一波童年回忆.... 不过,从那时起,游戏经历了巨大的转变,人工智能.虚拟现实.云计 ...

  6. 40条提升编程技能的小妙招

    作者:Kesk, 翻译自:机器之心 如何提高编程技能?恐怕很多开发者思考过这个问题.最近,拥有将近 15 年开发经验的软件工程师 Kesk 写了一篇博客,列举了 40 条对其职业生涯有所帮助的事项. ...

  7. return Java2.0--第二阶段(提升编程能力)

    Return Java 第十四章 集合 14.1 集合的理解 14.1.1.集合 VS 数组 14.2 集合框架图 14.3 Collection接口 14.3.1 Collection接口实现类的特 ...

  8. 什么才算是“真正的”编程能力?不提升这些能力,你何时能拿高薪!

    真正的编程能力,两个词概括: 建模+实现   建模能力如何提高?关键在于分析问题 理解越深,预测能力越强,自己的智慧才越好发挥.这就是学习软件编程最快的方式之一 "造轮子" --造 ...

  9. 助你编程能力「突飞猛进」的干货分享

    本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有技术干货文章,整理的学习资料,一线大厂面试经验分享等,欢迎 Star 和 完善. 大 ...

最新文章

  1. Kubernetes — 系统架构
  2. linux mariadb
  3. python3 tensorflow 安装
  4. Zoe Liu:传统算法与深度学习各有所长
  5. 前端学习(5):深入了解网站开发
  6. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】
  7. zabbix服务端远程执行命令
  8. 链路层 - SLIP,PPP,
  9. Python爬虫抓取页面内容
  10. 你不是编程挺厉害的吗?这都做不出来 | 硕士写给自己:努力应该适可而止
  11. 成功恢复新网LINUX REISERFS 6块盘 RAID5邮件服务器
  12. 5.一个三维数组,如何根据最后一维的数字大小正序排列,当然同时要保证索引的关联
  13. Java自学视频整理(持续更新中...) .
  14. PCShare流量检测报告
  15. php的fopen函数打开文件详解以及如何打开中文名文件
  16. sinc函数卷积_两个矩形窗函数的卷积
  17. 安卓真机如何连接本地服务器_Android真机测试 连接本地服务器 手机测试访问本地服务器 android通过电脑上网...
  18. 文字加下划线单选按钮效果,RadioGroup实现
  19. Office 2010安装程序包的语言不受系统支持
  20. 夏天推荐凉快的地方不嫌多!四明山这里更是集凉爽与好玩一起

热门文章

  1. html Selection
  2. 设计模式- 策略模式
  3. 如何编写一个Systemd Service(转)
  4. spark shuffle的写操作之准备工作
  5. centos7 elk7.1.1安装
  6. [LeetCode] Generate Parentheses
  7. DataTable的Ajax使用
  8. [转]sqlserver转换为Mysql工具使用
  9. PHP 5.3-5.5 新特性
  10. 快慢法判断单链表中是否有循环链表