11个提升编程能力的小方法

摘要:
编程是当今社会最实用的技能之一。因此,请仔细阅读以下内容。我总结了一些提高编程能力的小方法。步骤1:清楚地分析问题。反复思考如何解决问题。步骤3总结完整的需求。步骤4:编写一个完整的实施计划或构建一个完整模型。第5步随时注释代码。步骤6对变量使用一致的命名约定。第7步组织代码。练习,练习,练习。第10步准备做出改变。在开始编程之前,您可以通过呈现需求文档或执行计划来提高流程的清晰度。从简单到复杂。

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

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

Step 1

清晰地分析问题。

如果在解决问题前不能先清楚问题,了解具体状况,那在解决问题时,会很容易卡壳或导致局面更加混乱。
11个提升编程能力的小方法第1张

Step 2

再三考虑如何解决问题。

整理解决方法,并再三考虑这些方法的可靠性,不建议盲目行动。
11个提升编程能力的小方法第2张

Step 3

总结完整的需求。

花一点时间写下产品需要达到的最终目标,并明确你的产品使用群体。在这个阶段有一个清晰的认知,会节省之后的大量时间。
11个提升编程能力的小方法第3张

Step 4

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

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

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

    ● 每个模块需要完成的任务是什么

    ● 模块之间的数据如何流通

    ● 在每个模块里数据如何应用

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

花时间预先去设计项目的流程和结构,你在写下第一行代码前就会发现,这对于实现你的最终目标,非常有帮助。
11个提升编程能力的小方法第4张

Step 5

随时注释你的代码。

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

注释应该更加注重表达原因,而不是单纯解释作用。更新代码的时候请注意更新注释。
11个提升编程能力的小方法第5张

Step 6

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

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

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

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

但不管你的命名规则是什么,一定要保证它的一致性,和变量名的可解释性。
11个提升编程能力的小方法第6张

Step 7

组织好你的代码。

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

在变量名和运算符间(加减乘除等)记得要空格,这是为了让代码看起来更美观,易读。
11个提升编程能力的小方法第7张

Step 8

测试每一处。

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

测试的例子如下:

     ● 极端值:对于正数值,使用0和超出预期的最大数值来测试;对于文本值,则用空字符串测试;对每一个参数用null来测试。

     ● 无意义的值:即便你不相信你的用户会输入乱七八糟的东西,也请输入来测试一下。

     ● 不正确的数值:用0来测试那些会被用来做除法的值;当要求输入一个正数或者用来计算平方根的数时,你可以输入负数;当要求输入一个字符串时,你可以尝试输入一个数值。

11个提升编程能力的小方法第8张

Step 9

练习,练习,练习。

编程不是一个停滞不前的训练过程。总有新的东西需要学习,当然,更为重要的是,要不断复习那些旧的知识。
11个提升编程能力的小方法第9张

Step 10

随时准备好做出改变。

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

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

Step 11

从简单到复杂。

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

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

      ● 从呈现一个正方形开始,让它跟随鼠标移动,先解决移动路径问题。

      ● 然后,让正方形的大小和鼠标速度关联起来,解决速度与形状间的关联。

      ● 最后,创造出你本来需要的图形,并将三个元素关联起来。

      ● 这个方法导向模块化代码编写,每个元素有其内部的完整模块。这对代码的重复使用非常有用,并且也会简化调试过程。

11个提升编程能力的小方法第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个提升编程能力的小方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Flask(Jinja2) 服务端模板注入漏洞vulhubNiagara workbench 介绍文档---翻译下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jmeter获取数据库值并作为参数请求(转载)

转载自:https://www.cnblogs.com/mawenqiangios/p/11088672.html 01Jmeter连接数据库 1、添加JDBC Connection Configuration (右键测试计划-->配置元件-->JDBC Connection Configuration) 2、配置数据库连接信息,其中 Data...

Idea 软件使用快捷键归纳01

<1>CTRL+P 方法参数提示 <2>ctrl+/ 单行注释 <3>Ctrl+Alt+MIDEA 重复代码快速重构(抽取重复代码快捷键) <4>alt+enter自我修复,出现红色错误代码的解决方案(注意:光标必须定位在红色错误代码处) 可以实现自动导包 <5>ctrl+alt+L自动格式化代码...

VB可变数组定义

关键点:Dim str() As string '定义redim str(n) '重设长度 or redim Preserve str(n) '重设长度,并保持原来记录不变 详细阐述:ReDim 语句 在过程级别中使用,用于为动态数组变量重新分配存储空间。 语法 ReDim [Preserve] varname(subscripts) [As type]...

less的基本用法

Less也是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量,继承,运算, 函数. Less 既可以在客户端上运行 (支持IE 6+, Webkit, Firefox),也可在服务端运行 (借助 Node.js)。 使用方式 两种使用方式:第一种全局安装less,利用命令编译less;第二种直接引入less.js. npm安装 npm instal...

sqlserver的存储过程

继上一个数据库分页功能完成之后,这周开始进行一个sqlserver数据库的存储过程查询和运用。之前只了解过mysql数据库和oracle数据库,对于存储过程的了解只是在oracle数据库上面有所运用。加上对sqlserver数据库不太了解,所以一开始有点无从下手,看了一些资料。了解存储过程实际上就是将一些查询语句与数据库的事务处理相结合,方便我们在运用的时...

filter_input() 函数

定义和用法 filter_input() 函数从脚本外部获取输入,并进行过滤。 本函数用于对来自非安全来源的变量进行验证,比如用户的输入。 本函数可从各种来源获取输入: INPUT_GET INPUT_POST INPUT_COOKIE INPUT_ENV INPUT_SERVER INPUT_SESSION (Not yet implemented)...