优秀程序员压箱底技能:把复杂问题变得简单

新闻
优秀的程序员能让编程变得很简单。笔者仍然记得在之前的项目中一位技术架构师说过:“软件开发人员的作用是让事情变简单,他们必须为复杂的问题提供轻松的解决方案。”

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

优秀的程序员能让编程变得很简单。笔者仍然记得在之前的项目中一位技术架构师说过:“软件开发人员的作用是让事情变简单,他们必须为复杂的问题提供轻松的解决方案。”

[[350481]]

编程是一门艺术。笔者在这个行业已经快五年了,这些年来遇到过许多形形色色的程序员,也从他们身上学到了很多。本文就将分享笔者五年来从优秀程序员身上学到的经验。

1.关注进程而非结果

大多数年轻程序员只关注输出,但产生输出并不一定意味着你已经了解了程序。在软件领域,每天都有新的挑战。了解程序至关重要,只有这样你才能用上自己的经验解决问题。“开始关注如何解决问题,而不是应该输出什么。”从长远来看,这将引导你成为一名更好的程序员。

2. 避免学而不思

笔者在刚开始编程时有一个习惯,每当陷入困境总是会向前辈求助。有一天,领导告诉我:“我们都可以帮助你,但不要指望别人什么都告诉你。如果你每次都寻求帮助,是学不到多少东西的。试着钻研问题,自己努力一阵子。”

这个建议对笔者的程序员职业生涯帮助很大。当被代码的难关困住时,不应该失去信心,在向他人求助之前先试着自己加倍努力,这将帮助你成为一名出色的程序员。

3.首先要理解自己的代码

 

正如笔者之前所说,程序员需要为复杂的问题提供简单的解决方案,但不需要为了让人印象深刻而刻意编写复杂的代码。

如果人们在几天或几个月后再看自己的代码,他们经常会忘记自己在写什么。想象一下,如果连他们都很难回忆起自己所写某段代码的作用,其他人试图理解这段代码岂不是更难以想象?

注释有助于回忆起一段代码在应用程序中的作用,试着在必要的地方写一些简短而有帮助的注解。优秀的程序员编写的代码往往简单而有效,对其他程序员来说也很易读。

4. 想出多种解决方案

优秀的程序员在找到一个问题的多种解决方案之前绝不会停止探索,他们总是想出至少两种方法来解决问题。

这是一种很好的做法,因为你可以根据时空复杂度和其他因素从多个解决方案中进行选择。当你试图从不同的角度看待问题,从而找到更多的解决方案时,这种方法还可以增强你的逻辑思维。

即使无法找到多种解决方案,也可以通过诸如Stack Overflow、CodeProject或GitHub等网站寻找替代的方法。

5. 多读代码,读好代码

“先读后写”这句话对于编程也很适用。阅读别人的代码会给你带来更多的想法,让你受益匪浅。优秀的程序员会花相当多的时间进行代码检查,这有助于他们收集一些东西:

  • 更多的代码知识
  • 其他程序员的编码技能
  • 解决特定问题的不同方法
  • 提高了程序员的逻辑思维

程序员应该养成阅读代码的习惯,这有助于他们在职业生涯中成长。

6. 改进之前实现过的方案

这个方法是笔者在做程序员的第三年发现的,笔者看到一位前辈在对之前的需求做代码变更,尽管该需求已经结束了。

笔者问他在一切正常的情况下为什么要改变逻辑。他回答道,多年来他已经形成了这种做法:每当工作负担减轻时,他就试图找出更好的方法来解决他已经解决了的问题。如果他发现了一个比已经应用的解决方案更好的方案,他就会创建一个变更请求并更新它。这种做法有助于提高专业水平,还可以优化代码。

7. 学无止境,上下求索

一个优秀程序员的最典型的品质在于他们对知识的不断探索。编程是一个充满挑战的职业,你需要不断学习,与时俱进,需要像更新他们的软件一样更新自己,以保证代码的高质量。优秀的程序员通过大量的在线资源,如技术博客、YouTube频道或编码论坛来实时更新自己。

在过去的五年里,这些做法促进了作为一名程序员的笔者成长,希望也能对你有所帮助。

 

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

2009-10-30 09:54:52

Internet接入

2009-11-06 09:56:46

Check Point软件刀片安全

2009-11-02 17:42:53

2010-11-18 13:50:09

VMware虚拟机

2015-03-13 09:45:27

2020-06-05 07:52:25

程序员离职编码

2017-11-14 21:30:15

2014-08-29 11:09:44

程序员

2019-09-25 11:39:07

程序员编程技术

2012-11-01 13:46:54

程序员

2013-05-31 09:05:47

2018-01-04 12:30:32

程序员第二技能编程

2020-03-09 11:14:25

程序员技术设计

2022-04-18 09:00:00

数据库向量机器学习

2015-10-12 08:56:37

程序员成长法则

2020-03-29 08:19:56

程序员代码

2011-05-10 09:24:13

复杂程序员

2012-05-25 10:54:24

程序员

2021-05-29 07:32:14

优秀程序员代码

2015-06-17 14:24:48

优秀程序员整洁代码
点赞
收藏

51CTO技术栈公众号