你的编程能力从什么时候开始突飞猛进的?

前言

知乎上有一个提问:你的编程能力从什么时候开始突飞猛进的?
                                     ↓↓↓

今天,我们就这个话题一起来做个讨论。

我的回答

话说这个话题着实有点泛、难以回答,这里简单跟大家分享一下我对于这个问题的一些看法,希望大家喜欢。
我的观点认为,一个程序员但凡编程能力突飞猛进之后,会在如下6个能力方面有所体现:
1、编程语言熟练度:良好的编程能力要求掌握一到多门编程语言,能够熟练运用这些语言进行软件开发。
对相关语言的API语法、框架、工具包非常熟悉与掌握,能够娴熟的在合适场景下进行选择性的应用。
2、问题解决能力:编程能力包括对问题的分析和解决能力,能够有效地定位和解决在软件开发过程中遇到的各种问题。
这主要体现在解决线上bug的能力。相关开发同学能不能第一时间快速止血问题(通过数据订正、回滚等手段快速阻断问题源,避免事态进一步恶化),然后线下快速定位到问题(查阅线上日志再结合项目源码),继而快速修复问题(发bugfix版)的能力。

 

3、代码质量和规范:良好的编程能力表现在编写高质量、易读、可维护的代码,遵循编程规范和最佳实践。

我之前写过一些列所谓的“屎山”代码的文章。描述什么是“屎山”代码?它有什么特征?以及如何规避产生这种”屎山“代码?
有几个链接供大家做个参考:
为什么祖传代码被称为“屎山”?
Bug是如何产生的?
4、软件设计与架构:良好的编程能力涉及对软件设计和架构的理解,能够设计出具有良好扩展性和灵活性的系统。
这主要体现在用一些画图工具(processOn、diagrams.net、Excalidraw、PPT等)画一些UML图或业务架构图、系统架构图等,抽象化你的具体业务需求内容,以详细设计文档的形式体现出来。
关于UML画图工具,我曾写过一篇文章,这个工具我自己一直在用,画图效果也确实不错,比较专业和美观,大家不妨可以看看:这款uml画图工具,阿里字节都用疯了,你还不知道?
5、调试和优化:良好的编程能力包括对代码进行调试和性能优化的能力,使得软件能够更高效、更稳定地运行。
关于调优,如果流量小,世界注定一片祥和,但如果有一天流量暴增,就会出现各种性能问题(比如响应缓慢啊、OOM、甚至程序直接崩溃),所以程序员是需要花时间去进行调优的。

通常调优的手段有:服务水平扩容、利用缓存减轻数据库“读”的压力、通过mq对流量进行削峰填谷、数据库分库分表减轻数据库写的压力与存储压力等

 

6、测试与质量保证:编程能力要求对测试和质量保证有基本的理解,能够编写有效的测试用例和进行单元测试等。

虽然编程界有句笑话,程序员写代码写的就是BUG。但无可厚非体现一个程序员好的编程能力其能编写出高质量、不易出错的代码往往是是最低要求。很难想象一个一天到晚写BUG的程序员能力能好到哪里去。
关于在实际编程中,如何才能写出不易出错质量高的代码,这里我贴一篇我在早些时候发表过的关于此话题的一篇文章:代码重构前vs重构后,大家可以参考看看。

 

终上所述,上述我总结的这6个编程能力是我认为可以体现一个程序员编程突飞猛进后的标志,当然实际操作过程中,具体的要求可能会因具体的职位、项目需求和行业特点而有所不同。

 

OK,今天的分享到处接近尾声,接下来,分享一则我们可爱的知友关于这个问题的精彩答复,灰常精彩,一定看到最后哦!

知友作答

 

写到最后

感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员职场进阶窍门、编程技巧和计算机原理等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!🚀💻📚
求一键三连点赞、转发、在看

推荐关注

最近在整理本地资料库的时候,发现工作多年,已陆续积累、收藏了近百本经典的计算机书籍,有计算机基础的,有编程语言的,有数据结构和算法的,有面试相关的,以下是具体资料(看看你的书架是否缺其中一本),有需要的小伙伴自行获取,点击👉:那些年,我书架上的几本经典计算机书籍!查看详情。
posted @ 2024-02-16 10:14  陶朱公Boy  阅读(1845)  评论(5编辑  收藏  举报