文章目录

  • 前言
  • 一、代码评审
    • 为什么要进行代码评审?
  • 二、持续学习能力
  • 三、良好的编程习惯
    • 代码注释
    • 避免深度嵌套
    • 拒绝长函数
    • 重视自测
    • 文档编写
    • 重构你的代码
    • 学会思考
  • 四、多接触开源项目
  • 五、总结

前言

在工作中,我们大部分的时间都是在阅读代码,阅读别人的代码也是我们工作中的一部分,真正花在写代码上的时间其实并不多。

我们应该都有这样的体会,那就是刚入职一家新公司,需要维护公司的一些项目代码,这个时候相信有的小伙伴们就很痛苦了,因为每个人写代码的风格和编码水平都是不一样的,好的代码更容易理解和易读。

工作中,能很快熟悉别人的代码,可以提升我们工作的效率,那么怎样才能提高代码质量以及可读性呢?

一、代码评审

为什么要进行代码评审?

  1. 提高质量
  2. 及早发现潜在缺陷与 BUG,降低事故成本。
  3. 促进团队内部知识共享,提高团队整体水平
  4. 评审过程对于评审人员来说,也是一种思路重构的过程。帮助更多的人理解系统。

我觉得代码评审还是非常有必要的,自己的代码被别人评审的时候,我们要保持一颗虚心的态度,认真倾听他人对自己代码的一些建议,虚心请教,这样我们会更容易突破自己的瓶颈,编码的质量会更上一个台阶。

每天抽出一个小时,团队里每个人都对其他人的代码进行评审也是非常好的,不仅可以找到各自身上写代码的缺陷和毛病,还可以学习别人写代码的优点。毕竟评审过程对于评审人员来说,也是一种思路重构的过程

二、持续学习能力

终身学习对程序员也非常重要,这个行业新技术日新月异,曾经C++还风靡全球,今天就换Java横扫千军,Python、node.js、Go这些新兴的语言也层出不穷。这意味着程序员要不断学习新东西,很难一招鲜吃遍天。

面对如此多的技术,我认为最重要的还是要牢固计算机体系基础知识,这个是编程的内功心法,如果不扎实一定很难走远。计算机体系基础知识包括算法和数据结构、操作系统、计算机网络、编译原理、计算机组成原理、数据库等等。

三、良好的编程习惯

其实在工作中,看别人的代码大概就知道他的编码水平。养成良好的编程习惯,对你无论是工作还是技术发展本身都有极大的帮助,这能提高你代码的可读性,可扩展性和整体质量,也能提高你同事的工作效率。

代码注释

代码在任何地方都没有注释。没有函数的功能注释,没有类的使用概述,没有对算法的解释等等。
即使是写的最好的代码也不如注释更容易被理解。在写注释的时候,要记住你的目的是为解释代码块为什么存在,而不是解释代码块在做什么。注释能帮助你更好的理解自己和他人的代码,减少工作量,所以不要忽视他们。

避免深度嵌套

深度嵌套的代码并不总是很糟糕,但可能会产生问题,因为它很难理解,如果你发现自己正在编写一个双重,三重甚至四重for循环,那么代码将可能试图在超出自身的范围外查找数据。那么你应该提供一种方法,使之可以通过包含该数据的对象或模块函数调用来请求数据。

拒绝长函数

顾名思义,长函数是指函数太长了。虽然没有一个特定的数字表示多少行代码对于一个函数来说“太长”,但当你看到这个函数时,你就会知道它是不是太长。一个长函数意味着包含了太多的功能实现。一般情况下长函数应该被分解成许多子函数,其中每个子函数被设计为处理单个任务或问题。理想情况下,原始的长函数将变成一个子函数调用列表,从而使代码更清晰,更易于阅读。

重视自测

交付代码之前反复自测,这样能节省团队时间,也能减少线上bug。

文档编写

Java程序员不仅要掌握一定的技术能力,还需要具有一定的文档编写能力。良好的文档能力能帮助我们更好地进行开发。一般来说,软件项目的发展需要经过需求调研,概要设计,详细设计等一系列的步骤,这些都是编码前的准备工作,特别是大项目会把大部分时间都花在文档整理上。

重构你的代码

  • 重构能改善软件设计。
  • 重构使软件更易理解。
  • 重构有助于找到Bug。
  • 重构有助于提高编程速度。

在写代码的过程中不断重构,优化,你的代码质量就会逐步提高。

学会思考

工作中,总是有很多新的需求,遇到新的需求,不要急于上手写代码。
编码之前需要思考以下几点:

  • 明确需求,我要做什么?
  • 分析思路,我要怎么做?
  • 确定步骤,每一个思路部分用到哪些语句、方法和对象。
  • 代码实现。

四、多接触开源项目

GitHub是全球最大的开源社区,里面充斥着形形色色的大佬,如果你身边没有高级工程师来带你提升,那这个社区绝对是最佳的选择,阅读别人的代码,学习代码风格。

  • 其实,作为一名程序员,我们都希望能写出高质量的代码,我自己也在朝这个方向努力。

  • 既然选择了做IT,就要明白,程序员从来不适合语言上的巨人,行动上的小人。

  • 只有真正地付出实践,从问题中复盘经验,才能使自己的编程水平不断提高。

五、总结

提高代码能力需要不断的学习、实践和反思。作为程序员,应该保持对技术的持续关注,不断学习新的编程语言、框架和工具,并积累项目经验,不断提升自己的编程技能和工程实践。同时,也需要注重代码质量和可维护性,学会与团队合作、项目管理、沟通等软技能,不断提升自己的全面素质。通过不断反思和改进,总结项目经验,接受他人的反馈和批评,学习他人的经验,不断完善自己的编程方式和实践,从而不断提高自己的代码能力。

在提高代码能力的过程中,也需要保持耐心和毅力。编程是一个持续学习和不断进步的过程,不可能一蹴而就。因此,要保持积极的学习态度和持续的努力,不断克服遇到的困难和挑战,不断提升自己的代码能力。

总的来说,提高代码能力需要多方面的努力。从技术学习、实践项目、拓宽领域、提升软技能、反思改进等多个层面入手,不断追求卓越,并持之以恒地不断提升自己的代码能力。只有不断自我挑战,不断改进和提高,才能在竞争激烈的编程领域中脱颖而出,成为一名优秀的工程师。

【工作思考】如何提升自己的编程能力?相关推荐

  1. 8种提升程序猿编程能力的方法+编程思维四个核心:分解、抽象、模式识别和算法

    8种提升程序猿编程能力的方法 对于程序员来说,提高自己的编程能力,算是给自己定的职业发展目标之一,不过定一个成为编程大神的目标很容易,具体做起来可能就不是一件简单的事了.首先,既然决定"我要 ...

  2. 该如何提升自己的编程能力?

    这里北大青鸟信狮教育为广大程序猿从某知名网站上搜集了一篇某程序猿发表的关于如何提升自己的编程能力的观点,点赞的人数很多,也希望能对程序猿有所帮助. "计算机科学有两类根本问题.一类是理论:算 ...

  3. 如何提升你的编程能力?年轻程序员听好了,我给你的这几条建议一定会对你有所帮助

    一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验.我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发. 我工作过的公司有4家,NVIDIA, G ...

  4. 数据科学家们,请补齐你的短板,如何提升R语言编程能力

    前言 这个世界每天都在源源不断地生产数据,而人们尤其是商界往往希望从这些数据中获取到有价值的信息.而这一点也促使很多试图从数据中提取有用信息的数据科学家们(或被叫做数据分析师.数据挖掘者等等听起来不错 ...

  5. 如何提升python编程能力_Python编程小白如何提升自己的编程能力

    1.不使用分号 使用分号在Python中是可选的,对比其他面向对象语言,你不需要在每一条语句后面使用分号. 这看起来很简单,似乎也节省不了多少时间;但一旦你的代码量扩展到数千号,这些分号就变得分心且没 ...

  6. 新手程序员如何提升自己的编程能力

    这是本文的目录 前言 1.修炼底层技术 2.良好的编码习惯 3.多看优秀源码,学习代码思路 4.多阅读Python经典书籍 5.善用代码工具 6.多总结.多分享.多输出 零基础Python学习资源介绍

  7. 计算机专业的学生应该怎样提高自己的编程能力?

    本人国内某重点大学渣渣专业大一在读,专业对编程要求较高. 大一刚学编程(C/C++),感觉有点吃力,求指点.我们平时练习都是做的OJ(老师负责选一些题让我们做,也可以自己随便刷),一些题还好,可是有些 ...

  8. 计科专业大一学生一枚,如何提高编程能力?

    先简单介绍一下我的情况:大概去年的这个时候从学校毕业,二本A软件工程,现在在北上广深之一的某卫星城从事互联网相关工作,月薪勉强养活自己.看上去一份很没说服力的简历,希望我下面的话,不会让你有这个感觉. ...

  9. 优秀的开源项目C_适合提高C/C++、网络编程能力的开源项目!不要错过,赶紧收藏...

    我们学习每一个编程语言都是有一个项目实战的过程,而对于开发类的编程语言,除了适当的做项目程序外,学习了解其他的开源项目更是一个关键,就比如我们的C/C++编程语言的学习. 前阵子有一个小伙伴就问到我, ...

最新文章

  1. (建议收藏)万字长文,带你一文吃透 Linux 提权
  2. VTK:PolyData之GreedyTerrainDecimation
  3. 【Kafka】kafka命令kafka-console-consumer.sh
  4. [云计算] 001.云计算简介
  5. GNOME 3 + Ubuntu 11.04
  6. Adopt Open JDK官方文档(五) Docker镜像
  7. 不玩游戏,何谈人生!
  8. 省钱兄霸王餐源码uniapp前端
  9. 红外线计件器课程设计报告书
  10. Android向服务器发送图片(一)
  11. vs2008配置opencv2.4.0
  12. python将图片转矩阵
  13. allegro设置差分线
  14. spring中自定义注解(annotation)与AOP中获取注解___使用aspectj的@Around注解实现用户操作和操作结果日志
  15. 家谱网站 php,家谱网站大全
  16. c语言合法标识符号大全,C语言合法标识符
  17. 全流程DevOps工具链汇总(全)
  18. C语言-字符串(单个字符)
  19. Python -- jpype JVM的第三方库使用
  20. 阿里云ECS服务器购买详细流程(图文并排)

热门文章

  1. 信息比率(Information Ratio)
  2. 计算机语言mod(m n),密码技术与物联网安全:mbedtls开发实战最新章节_徐凯著_掌阅小说网...
  3. 【Linux】在Ubuntu中下载jdk以及卸载oraclejdk
  4. 2023届秋招总结_嵌入式软件开发
  5. 2019中大计算机考研分数线,中山大学2019年硕士研究生复试分数线
  6. vscode查看剪切板的记录
  7. Typescript面向对象---下篇
  8. 计算机列出大纲,2010计算机考研统考大纲完全解读之操作系统
  9. 抖音短视频无水印下载的方法
  10. 怎么把heic格式转化为jpg?