首页 > 编程语言 >写一个优雅而高效的程序

写一个优雅而高效的程序

时间:2022-11-21 11:56:41浏览次数:40  
标签:重构 高效 开发人员 代码 程序 优雅 开发者 流程

程序员大多是乐观主义者,或者说悲观主义者很容易在编程开发中放弃挣扎而淘汰出局。

从学习到正式开始编程,开发人员往往会有一个神奇的过渡期。

一开始的初学者,对所学编程语言和项目框架理解不深,难以纵观全局,这时候的开发者往往会着重于某个局部的功能去下苦功夫,绞尽脑汁构思并写出一些自己十分满意的,并且完美的代码和流程,然而随着时间的流逝和开发者的进步,他在以后再来看当时的流程,往往会发现这就是一个无效的高级代码。

随着实践和项目经历增多,大多数开发者会形成自己的思维模式,有重框架的,有重模块的,有天马行空的,这时候开发者做出的程序会更高级一些,并且往往会难以与其他开发人员的理念并存,或者说互相看不上对方的代码。低代码程序的开发者在运维其他人的流程时,很容易就极端的想把别人的流程重构,认为自己的方法可以更高效,更精简,更稳定。这也许有用,但就时间成本来说,是极不划算的事情,一个本身可以顺利完成业务的程序,只要没有BUG,效率可以满足用户的需求,通常再去重构代码是不必要的,重构的过程也许会有提高,也许还能学到很多知识增长经验,但是如果把时间花费在开发别的新程序中,结构可能就是同样的时间,但是我们拥有了两个流程。

再往后,开发者阅历增长了,已经可以兼容包并很多好的坏的流程,也可以一眼看透别的程序的优化方案,但是他会有自己的优先级,哪个事情是重要的,哪个事情是紧急的,而有些事情紧急但不重要,有些事情又重要而不紧急,如果对手上的安排做好优先级划分,工作就很容易得心应手。这时候的开发者在自己开发程序时,因为过度考虑程序的稳定,会增加太多的自检和校验机制,这样的程序稳定性和可靠性是有的,但是效率一定会收到影响,用户的体验不能说好。但是如果没有校验机制,流程不稳定而且经常出错,那整个流程就是一个不可用的。所以这个阶段的开发者,在效率和稳定性中间,要做一个平衡和取舍。

以上仅代表我自己的一点拙见,若有异议,欢迎交流探讨。

 

标签:重构,高效,开发人员,代码,程序,优雅,开发者,流程
From: https://www.cnblogs.com/npr666/p/16910965.html

相关文章

  • 工程师如何实现西门子PLC S7-1500的远程程序上下载?
    西门子S7-1500系列PLC是系西门子主推的新一代产品。它为企业在自动化控制系统中提供了更高的运行能力,而且简单易用,接上了大量的系统开发时间。同时具备很强的通讯功能和扩展......
  • java学习的路线和高效的学习方法
    后端路线:java基础   java集合框架javaio流java注解与反射    javaWeb     学会使用gitsql和学习jdbc     学习mybatis学习spring  ......
  • 微信小程序使用Animate.css来实现动画效果
    1、安装官网:https://animate.style/视图--终端,打开终端(新建)npminstallanimate.css--save2、安装完了以后,会多一个文件夹:  打开文件,找到animate.css 3、......
  • 小程序官方文档梳理
    单词:WeixinJSBridge(微信JS桥梁)invoke(调用)imagePreview(图片预览)current(当前图片路径)urls(所有图片url列表)function(功能)res(响应回来的结果)概念:使用WeixinJSBridge......
  • 认识小程序
    原生小程序开发uniapp开发(写一套代码,生成多套程序:移动app,网页,...)微信小程序开发模式:独立开发建议:自己独立敲多看文档特点:体积小,轻便,使用方便,下载(需要下载),它依赖于......
  • J-Link调试STM32F7不能下载程序到ITCM接口的Flash
    问题描述STM32F7的Flash可以在两个地址空间可见,一是AXIM接口的0x08000000处,二是ITCM接口的0x00200000处。如果将Flash定位到0x08000000处,使用J-Link调试下载程序没有问题;如......
  • PYTHON编写程序练习-打印99乘法表
     使用for循环嵌套的知识点编写foriinrange(1,10):  #第一层循环,循环乘数forjinrange(1,i+1):  #第二层循环,循环被乘数print(f"{i}x{j}="+......
  • 2022-2023-1 20221422 《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP)这个作业要求在哪里<作业要求的链接>(https://www.cnblogs.......
  • Linux切换账户(或ssh远程)执行QT程序无法输入中文
    系统:银河麒麟前提条件:已经安装了fcitx插件,因为QTcreator本身不支持中文输入,需要插件支持;场景1:一台计算机;使用普通用户(例如:user01)登录并打包一个可以执......
  • 2022-2023-1 20221302《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求  https://www.cnblogs.com/rocedu/p/9577842.html#WEEK12作业目标......