首页 > 其他分享 >2月11日总结

2月11日总结

时间:2024-02-16 23:46:10浏览次数:42  
标签:11 总结 代码 编程 画图 能力 问题 程序员

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

今天,我们就这个话题一起来做个讨论。
我的回答
话说这个话题着实有点泛、难以回答,这里简单跟大家分享一下我对于这个问题的一些看法,希望大家喜欢。
我的观点认为,一个程序员但凡编程能力突飞猛进之后,会在如下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,今天的分享到处接近尾声,接下来,分享一则我们可爱的知友关于这个问题的精彩答复,灰常精彩,一定看到最后哦!
知友作答

标签:11,总结,代码,编程,画图,能力,问题,程序员
From: https://www.cnblogs.com/lmyy/p/18017647

相关文章

  • 2月10日总结
    三章:分层架构传统的IT团队结构按照技术领域进行组织,例如演示团队、后端开发团队和数据库团队等。由于大多数架构师、设计师和开发人员对这种结构非常熟悉,分层架构成为大多数商业应用程序开发项目的自然选择。然而,就像所有架构风格一样,它具有优点和缺点,并不适用于所有系统。描述......
  • 2月9日总结
    C#实现刘谦春晚魔术internalclassProgram{staticList<string>list=newList<string>(){"A","B","C","D","A","B","C","D"};staticstringhiddenEle1=string.Emp......
  • 2月13日总结
    四)---大鱼吃小鱼(互吃升级)鸿蒙开发游戏(五)---大鱼吃小鱼(添加音效)鸿蒙开发游戏(六)---大鱼吃小鱼(称霸海洋)前两篇文章我们做了摇杆控制小鱼移动,这篇将会添加一个NPC,让其自动在海洋里游荡,然后玩家控制吃掉它。在这之前我们想思考一些问题,NPC如何生成?NPC有哪些属性?NPC是如何控制的?如何......
  • 2月12日总结
    文|JamesMontemagno翻译|郑子铭VisualStudio2022在2023年发布了许多令人难以置信的功能,为.NET开发人员提供了大量新工具来提高他们的工作效率。有这么多可供选择,我精心挑选了一个包括编辑器改进、生产力更新和人工智能辅助的选项。让我们来探讨一些最有影响力的功能......
  • 2月16日总结
    exColor作为示例,可能过于简单这里再补充一个ini解析的示例由于实在写不动用其他库解析ini了,春节都要过完了,累了,写不动了,所以随意找了一份解析ini的库,仅供参考,对比不准确,毕竟完整库包含了更多功能先看看结果BenchmarkDotNetv0.13.12,Windows11(10.0.22631.3085/23......
  • 2月15日总结
    问题前,不妨先问大家几个问题:为什么我们需要操作系统?操作系统的出现解决了什么问题?为什么我们的电脑软件需要运行在诸如Win、Linux、MacOS等操作系统之上?我一直主张在学一门技术之前,最好提前能搞清楚诸如这些what、why、how的东西,这比一味埋头扎进知识库去硬着头皮学某知识点,更重......
  • 2月14日总结
    es_to_long(flag)^pprint(f'enc={enc}')print(f'a={a}')print(f'bag={bag}')"""enc=871114172567853490297478570113449366988793760172844644007566824913350088148162949968812541218339a=[3245882327,3130355629,243......
  • D11-cxGrid导出Excl亲测OK
    需要引用uses  cxGridExportLink;procedureTForm1.dxBarLargeButton5Click(Sender:TObject);varSaveDialog:TSaveDialog;path:string;//路径信息ExcelAPP:Variant;//变体变量beginSaveDialog:=TSaveDialog.Create(nil);path:='';trywithSaveD......
  • Codeforces Round 926 (Div. 2) 总结
    A题意:给出一个数组,让你重新排序,\(\sum_{i=1}^{n-1}a_i-a_{i+1}\)最大。做法:显然从小到大排序即可,答案就是最大值减去最小值。#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1e6+5,MOD=998244353;signedmain(){ios::sync_with_s......
  • 《程序是怎样跑起来的》总结一二三四章
    一:物理层面:CPU由具有开关功能的晶体管构成逻辑层面:内部由、寄存器,控制器,运算器,时钟四个部分构成,各部分通过电信号相互连通程序启动后,根据时钟信号,控制器会从内存中读取指令与数据,通过对这些指令进行解释执行,运算器对数据进行运算,控制器根据运算结果来控制计算机控制器:负责......