标签:代码 编程 画图 能力 程序员 突飞猛进
前言
知乎上有一个提问:你的编程能力从什么时候开始突飞猛进的?
我的回答
话说这个话题着实有点泛、难以回答,这里简单跟大家分享一下我对于这个问题的一些看法,希望大家喜欢。
我的观点认为,一个程序员但凡编程能力突飞猛进之后,会在如下6个能力方面有所体现:
1、编程语言熟练度:良好的编程能力要求掌握一到多门编程语言,能够熟练运用这些语言进行软件开发。
对相关语言的API语法、框架、工具包非常熟悉与掌握,能够娴熟的在合适场景下进行选择性的应用。
2、问题解决能力:编程能力包括对问题的分析和解决能力,能够有效地定位和解决在软件开发过程中遇到的各种问题。
这主要体现在解决线上bug的能力。相关开发同学能不能第一时间快速止血问题(通过数据订正、回滚等手段快速阻断问题源,避免事态进一步恶化),然后线下快速定位到问题(查阅线上日志再结合项目源码),继而快速修复问题(发bugfix版)的能力。
3、代码质量和规范:良好的编程能力表现在编写高质量、易读、可维护的代码,遵循编程规范和最佳实践。
我之前写过一些列所谓的“屎山”代码的文章。描述什么是“屎山”代码?它有什么特征?以及如何规避产生这种”屎山“代码?
4、软件设计与架构:良好的编程能力涉及对软件设计和架构的理解,能够设计出具有良好扩展性和灵活性的系统。
这主要体现在用一些画图工具(processOn、diagrams.net、Excalidraw、PPT等)画一些UML图或业务架构图、系统架构图等,抽象化你的具体业务需求内容,以详细设计文档的形式体现出来。
5、调试和优化:良好的编程能力包括对代码进行调试和性能优化的能力,使得软件能够更高效、更稳定地运行。
关于调优,如果流量小,世界注定一片祥和,但如果有一天流量暴增,就会出现各种性能问题(比如响应缓慢啊、OOM、甚至程序直接崩溃),所以程序员是需要花时间去进行调优的。
通常调优的手段有:服务水平扩容、利用缓存减轻数据库“读”的压力、通过mq对流量进行削峰填谷、数据库分库分表减轻数据库写的压力与存储压力等
6、测试与质量保证:编程能力要求对测试和质量保证有基本的理解,能够编写有效的测试用例和进行单元测试等。
虽然编程界有句笑话,程序员写代码写的就是BUG。但无可厚非体现一个程序员好的编程能力其能编写出高质量、不易出错的代码往往是是最低要求。很难想象一个一天到晚写BUG的程序员能力能好到哪里去。
关于在实际编程中,如何才能写出不易出错质量高的代码,这里我贴一篇我在早些时候发表过的关于此话题的一篇文章:代码重构前vs重构后,大家可以参考看看。
终上所述,上述我总结的这6个编程能力是我认为可以体现一个程序员编程突飞猛进后的标志,当然实际操作过程中,具体的要求可能会因具体的职位、项目需求和行业特点而有所不同。
OK,今天的分享到处接近尾声,接下来,分享一则我们可爱的知友关于这个问题的精彩答复,灰常精彩,一定看到最后哦!
知友作答
写到最后
感谢您一路陪伴着我,探索编程的奇妙世界。如果您对程序员编程技巧、计算机原理、职场进阶、认知成长等充满兴趣,那么不要错过未来我为大家奉上的精彩内容!点击关注,让您的程序员之旅更加丰富多彩,我们一同成长,一同前行!
标签:代码,编程,画图,能力,程序员,突飞猛进
From: https://www.cnblogs.com/StarbucksBoy/p/18016956