五种简单方法助你轻松提升编码技能

新闻
我在软件行业已经工作5年了,既和优秀的程序员共事过,也见过许多糟糕的程序员。我们被教育编写代码以使程序正常运转,新手通常非常关注输出。如果代码运行良好,他们就会认为事情已经完成了,部分人甚至在未来的职业生涯中养成了这种习惯。

 本文转载自公众号“读芯术”(ID:AI_Discovery)

我在软件行业已经工作5年了,既和优秀的程序员共事过,也见过许多糟糕的程序员。我们被教育编写代码以使程序正常运转,新手通常非常关注输出。如果代码运行良好,他们就会认为事情已经完成了,部分人甚至在未来的职业生涯中养成了这种习惯。

[[347256]]

然而,一个优秀程序员所应该具有的最重要素质之一,就是改进自己代码的能力。本文将讨论五种改进代码的技巧,这将帮助新手以及更有经验的程序员改进他们的编码。

每个程序员的编码方式都不一样。他们形成了一套自己习惯的方式来编写代码。就像写字一样,它是随着练习而发展的,我们需要学习如何改进这一过程。

把大部分时间花在分析上

大多数程序员在查看完需求后就直接开始编码,这种无知行为在软件行业的菜鸟中相当普遍。他们通常认为编码是解决方案的主要部分,但事实并非如此。一位高级开发人员曾经告诉我:用70%的时间分析,在剩下的时间里编码。

这样就不必在最后还花时间修复故障和优化代码。大多数人可以通过Google搜索逻辑来编写代码,但是一个真正的程序员知道如何在匆忙进行编码之前进行适当的分析。

怎么做:

无论何时处理何事,首先分析现有代码,运行并调试现有功能。然后必须想出一个解决方案,在其中可以添加功能而不破坏应用程序的现有流程。做到了这一点,就可以开始编写代码了。

寻找问题的多种解决方案

大多数程序员都在寻找解决方案。找到之后,他们会面临不同的问题。然而,花更多时间寻找问题的多种解决方案有很多好处:

  • 逻辑思维将随着时间而增强
  • 可以从多个备选方案中选择最佳解决方案
  • 解决问题的方法将有所改进

这种方法将帮助你形成编程后期所需的批判性思维。优秀的程序员应提供多种解决方案,以便可以根据速度、内存和其他因素选择最佳方案。

怎么做:

如果无法找到多个解决方案,可以上网搜索。在StackOverflow和CodeProject等平台上,肯定能找到解决问题的替代方法。这样,你就会慢慢养成针对单个问题寻找更多解决方案的习惯。

不要只关注自己的事

至少对编码来说确实如此,你应该尝试定期阅读其他人的代码。

正如我所说,每个人都有独特的编码风格。阅读其他人的代码将为我们提供更多有益的启发。通过阅读项目团队中其他开发人员的代码,我学到了很多东西。这也将帮助你了解全局。如果一直自己编写代码,那么将不熟悉应用程序的其他部分。

怎么做:

一旦完成自己的工作,就开始阅读其他开发人员提交的代码。这将有助于了解他们的思考过程,并进一步了解产品。

测试耐心

单元测试比大多数开发人员意识到的更加重要。程序员认为单元测试的主要目的是覆盖代码,但事实并非如此。单元测试可删除不需要的代码行,改进代码和程序的整体应用性能。

怎么做:

坚持为模块编写单元测试用例。努力实现高达90%的代码覆盖率,并在此过程中删除不必要的部分。尽量与其他开发人员讨论方案,以免错过任何重要的内容。

在更新代码之前自我充电

如果不了解最新的技术功能,那么如何确保自己的代码是最新的呢?大多数软件会随着时间的流逝而消亡,正是因为开发人员忽略了更新代码以进行优化。例如下面的C#代码:

 

  1. // Old approachIf (sampleObject != null
  2.     If (sampleObject.result != null
  3.     { 
  4.        string result =sampleObject.result; 
  5.     } 
  6. // New approachIf (sampleObject != null
  7.     string result = sampleObject?.result; 

 

在旧方法中,首先检查对象是否为null,然后检查该对象中的特定值是否可用。之后,我们才将该值分配给变量。

在新方法中,使用6.0版中引入的新C#功能。这样可以直接查询对象的属性。并且在属性为null的情况下,它不会引发null引用异常,而是返回null值。

怎么做:

关注科技博客,阅读关于新功能的文章,并在项目中使用它们。如果可能的话,也尝试在工作项目中应用它们。这有助于自我提升,同时维持代码的健康和更新。

不要仅仅满足于找到解决方案,优秀程序员的目标是——寻找最优解。

 

责任编辑:华轩 来源: 读芯术
相关推荐

2011-05-18 13:37:26

LINQ

2022-12-29 07:33:44

Strace故障排除

2011-03-02 10:01:15

2020-06-03 11:26:05

算法移动设技术

2009-09-08 10:37:57

C#遍历CheckBo

2023-07-11 09:24:11

2010-08-06 13:23:58

NFS配置

2010-06-08 17:46:31

OpenSUSE安装

2010-07-20 14:07:31

更改TELNET端口

2019-07-05 09:45:19

UbuntuLinux释放空间

2021-06-02 09:24:48

Apple ID密码iCloud

2023-08-11 11:29:48

物联网制造业

2017-07-05 15:03:48

混合云

2023-07-21 08:00:00

API数字世界

2015-06-09 09:20:24

2011-03-01 09:53:18

卸载PureFTPd

2010-09-30 14:01:38

2010-11-23 16:21:07

MySQL大表备份

2010-03-15 14:10:34

ubuntu系统

2009-08-12 16:47:36

C#转换农历
点赞
收藏

51CTO技术栈公众号