首页 > 其他分享 >技术的八荣八耻

技术的八荣八耻

时间:2024-08-05 16:52:52浏览次数:7  
标签:代码 技术 接口 为荣 为耻 八荣八耻 日志 设计模式

1. 以接口兼容为荣,以接口裸奔为耻

接口兼容为荣,怎么理解呢?

很多bug都是因为修改了对外旧接口,但是却不做兼容导致的。关键这个问题多数是比较严重的,可能直接导致系统发版失败的。新手程序员很容易犯这个错误。所以我们修改老接口的时候,一般要做好兼容

如果你的需求是在原来接口上修改,尤其这个接口是对外提供服务的话,一定要考虑接口兼容。

 

我们还要以接口裸奔为耻。为了保证接口报文的安全性,拒绝接口报文裸奔。因此,我们可以使用https协议,还建议对接口加签验签处理,数据加密等。

接口签名很简单,就是把接口请求相关信息(请求报文,包括请求时间戳、版本号、appid等),客户端私钥加签,然后服务端用公钥验签,验证通过才认为是合法的、没有被中间人篡改过的请求。

有关于加签验签的,大家可以看下我这篇文章哈,程序员必备基础:加签验签

2. 以规范日志为荣,以乱打日志为耻

我们的业务逻辑代码需要日志保驾护航。比如:你实现转账业务,转个几百万,然后转失败了,接着客户投诉,然后你还没有打印到日志,想想那种水深火热的困境下,你却毫无办法。。。

因此大家要打好日志,比如日志级别使用恰当,日志格式,在哪些地方打日志,参数打印哪个等等。不能乱打日志,要以规范日志为荣,乱打日志为耻。

我之前整理了15个打印好日志的建议,大家可以看看哈,工作总结!日志打印的15个建议

3. 以代码自测为荣,以过度自信为耻

修改完代码,要自测一下,这个是每个程序必备的素养,即使你只是修改了一个变量或者一个字段。

要杜绝过度自信,尤其不要抱有这种侥幸心理:我只是改了一个变量或者我只改了一行配置的代码,不用自测了,怎么可能有问题

因此,我们要以代码自测为荣,以过度自信为耻

4. 以参数校验为荣,以运行异常为耻

参数校验是每个程序员必备的基本素养。你的方法处理,必须先校验参数。比如入参是否允许为空,入参长度是否符合你的预期长度。因此,我们要以参数校验为荣

比如你的数据库表字段设置为varchar(16),对方传了一个32位的字符串过来,如果你不校验参数,插入数据库直接异常了。

我们要以运行时异常为耻

比如你没有做好一些非空校验,数组边界校验等等,导致的空指针异常、数组边界异常,尤其这些运行时异常还发生在生产环境的话,在有经验的程序员看来,这些错误行为会显得特别低级。

所以,我们要以参数校验为荣,以运行异常为耻

5. 以设计模式为荣,以代码重复为耻

日常工作中,我们要以设计模式为荣。

比如策略模式、工厂模式、模板方法模式、观察者模式、单例模式、责任链模式等等,都是很常用的。在恰当的业务场景,我们还是把设计模式用上吧。设计模式可以让我们的代码更优雅、更具有扩展性。

但是不要过度设计哈,不要硬套设计模式。

我们还要以重复代码为耻。重复代码,我相信每个程序员都讨厌的,尤其有时候你的开发工具还会给你提示出来。我们可以抽取公共方法,抽取公用变量、扩展继承类等方式去消除重复代码。

大家如果对设计模式还不是很熟悉的话,可以多看几遍我的这篇文章哈:实战!工作中常用到哪些设计模式

6. 以优化代码为荣,以复制粘贴为耻

日常开发中,很多程序员在实现某个功能时,如果看到老代码有类似的功能,他们很喜欢复制粘贴过来。这样很容易产生重复代码,所以我们要以复制粘贴为耻。一般建议加自己的思考,怎么优化这部分代码,怎么抽取公用方法,用什么设计模式等等。

个人觉得,优化代码的过程,可以让自己取得更大的进步。因此我们要以优化代码为荣,以复制粘贴为耻。

7. 以定义常量为荣,以魔法数字为耻

大家平时工作中,是不是经常看到魔法数字。魔法数字(Magic Number)是指拥有特殊意义,却又不能明确表现出这种意义的数字。程序里面存在魔法数字,易读性很差,且非常难以维护。

如下:

if(type==1){
   print("GreenforestQuan-帅");
}else if(type==2){
   print("GreenforestQuan-棒");
}else{
   print("GreenforestQuan-异常");
}

代码中的1、2就表示魔法数字,我们可以用常量取代魔法数,或者定义枚举去代替魔法数字哈。

8. 以总结思考为荣,以混水摸鱼为耻。

我们要以总结思考为荣。

可以总结思考一下,或者做做笔记,或者放到收藏夹,茶余饭后再看看。再比如你日常工作中,看到一段不错的代码,也可以思考一下亮点在哪里,如果是你自己来写的话,怎么写出更好的代码。反正就是要多总结,多思考,多复习,温故而知新嘛。

我们要以混水摸鱼为耻。比如工作中,一些小伙伴喜欢混水摸鱼,当一天和尚敲一天钟,代码多是复制粘贴,做完需求就摸鱼。实际上这个不可取的。

我们要在工作中成长,通过认真工作,使自己会得更多,将来换工作也可以拿到更高的薪水,对吧,加油吧,小伙子,以总结思考为荣,以混水摸鱼为耻

最后

如果这篇文章对您有所帮助,或者有所启发的话,求一键三连:点赞、转发、在看,您的支持是我坚持写作最大的动力。

翻译

搜索

复制

<iframe height="240" width="320"></iframe>

标签:代码,技术,接口,为荣,为耻,八荣八耻,日志,设计模式
From: https://www.cnblogs.com/GreenForestQuan/p/18025262

相关文章

  • 编程小白如何成为技术大神?本篇内容为编程新人答疑解惑
    编程小白如何成为大神?大学新生的最佳入门攻略在当今数字化时代,编程已成为大学生必备的技能之一。无论你未来的职业规划是进入科技行业,还是希望在其他领域脱颖而出,掌握编程语言都将为你打开更多的机会之门。然而,面对种类繁多的编程语言和丰富的学习资源,新生们常常感到无从下手......
  • 反射内存卡技术参数
    1.内存容量:‌如128MB、‌256MB、‌512MB等,‌部分高端型号可能提供更大容量。‌2.数据传输速率:‌支持高速数据传输,‌速率范围可能从几十MB/s到几百MB/s不等,‌具体取决于数据包大小和配置。‌3.接口类型:‌包括PCI、‌PCIe、‌CPCI、‌PMC等,‌支持不同的总线标准。‌4.光纤网络支......
  • 【技术前沿】3.3KW高功率密度新突破!基于Infineon XMC1400搭配CoolSiC™ Mosfet 的PFC
    随着社会经济发展、能源结构变革,近几年全球对家用储能系统的需求量一直保持相当程度的增长。2023年,全球家用储能系统市场销售额达到了87.4亿美元,预计2029年将达到498.6亿美元,年复合增长率(CAGR)为33.68%(2023-2029);便携储能市场经过了一轮爆发式增长的狂欢后,现在也迎来了稳定增长期......
  • Java RMI技术详解与案例分析
    JavaRMI(RemoteMethodInvocation)是一种允许Java虚拟机之间进行通信和交互的技术。它使得远程Java对象能够像本地对象一样被访问和操作,从而简化了分布式应用程序的开发。一些应用依然会使用RMI来实现通信和交互,今天的内容我们来聊聊RMI的那些事儿。一、先来了解一下概念RMI......
  • iMessage推广(群发)技术实现
    Apple公司全线在macos与ios两个操作系统上内置了FaceTime与iMessage两个应用。完美替代运营商的短信与电话。并且FaceTime与iMessage的帐号不仅仅与AppleID绑定,同时也与使用这AppleID的手机号码绑定,这样的漏洞自然给无孔不入的中国的群发垃圾信息商们提供了后门。这样iPhone......
  • 用 AI 解锁技术调研的新姿势
    1.前言在日常开发中,为了保证技术方案的质量,一般会在撰写前进行调研。如果先前没有相关领域的知识储备,笔者的调研方式一般是先通过搜索引擎进行关键字查询,然后再基于搜索的结果进行发散。这样调研的结果受关键字抽象程度和搜索引擎排名影响较大,可能会存在偏差导致调研不充分。......
  • 《数据资产管理核心技术与应用》读书笔记-第一章:认识数据资产
    《数据资产管理核心技术与应用》是清华大学出版社出版的一本图书,全书共分10章,第1章主要让读者认识数据资产,了解数据资产相关的基础概念,以及数据资产的发展情况。第2~8章主要介绍大数据时代数据资产管理所涉及的核心技术,内容包括元数据的采集与存储、数据血缘、数据质量、数据监控与......
  • 【攻防技术系列+权限维持】Windows开机启动项
    一、简介在我们的计算机开机的时候,总是会有一些程序和服务自动启动,这其中包括Windows操作系统运行所必需的程序和其他用户程序。这是操作系统给用户提供的功能,意在为用户开机启动程序提供方便,我们不必每次启动时都手动的打开一些必须打开的程序。二、常见开机启动项2.1启动文......
  • 视频笔记软件JumpVideo技术解析一:Electron案例-调用VLC播放器
              大家好,我是TheGodOfKing,是最强考研学习神器,免费视频笔记应用JumpVideo,可以快速添加截图时间戳,支持所有笔记软件,学习效率MAX!的开发者之一,分享技术的目的是想找到更多志同道合的人,如果有大学生加入,我们还允许他把项目作为毕设(只有一个名额哟)群(689978959),那么今......
  • Python实现简单的模型调优技术
    Python实现简单的模型调优技术一、开篇:模型调优的魅力所在1.1模型调优:不只是参数游戏1.2为什么好的模型也需要调优二、基础篇:理解模型调参的必要性2.1模型评估指标:选择合适的尺子2.2常见调参方法:从手动到自动化2.3验证集的重要性:不要让模型裸奔三、实战篇:动手......