首页 > 其他分享 >工程师常用的6种最佳实践

工程师常用的6种最佳实践

时间:2023-06-20 18:45:19浏览次数:44  
标签:工程师 同事 代码 实践 评审 功能模块 最佳 日志 优化

一、约定大于配置

泰思勒定律也被称为复杂度守恒定律。该定律指出每一个过程都有其固有的复杂性,存在一个临界点,超过了这个点过程就不能再简化了,你只能将固有的复杂性从一个地方移动到另外一个地方。

根据这个定律,在做系统设计时,默认会给用户一个“套餐”,这个套餐会满足多数人的需求。实在不满足需求再特殊配置。比如:springboot、JVM的默认值。

 

二、随时保存

在如火如荼的编辑文档时,电脑突然死机只能重启,重启后发现自己丢失了两个小时的辛苦工作。这种痛苦不是一杯暖心奶茶可以消解的。所以目前市面比较新的一些编辑器比如intelij都有默认自动保存的功能。但一些经典软件,比如office还是需要手动保存,建议喘口气的时间随手就按下保存快捷键。

 

三、任务分解,持续交付

错误越早发现越容易解决。不知道大家有没有这样的经历:好容易写出一个完整的功能模块,好多代码。提交之后找同事评审,同事评审出一堆代码风格问题。你找他评论未果,同事坚决的说你不改不给合入。硬着头皮改了,因为思路不连贯,改出一些bug。气不气。

但是如果做好任务分解,任务分解的足够小。做好一点就提交进行评审,事情就变得很简单。对于review你代码的同事来说。需要评审的代码越少,他能更容易的帮你发现问题,review效果越好。

 

四、免过早优化

只有在问题和解决方案都出现在你面前时才进行重构—过早重构是时间上的巨大浪费。不要投入半年后可能被扔掉的任何东西的完善上。过早优化是罪恶之源。

当然上面这种说话可能触动不了大家的心弦,这么说吧:如果没有很明确的需求,优化了也没有业绩,大家也不知道你做了,那为什么要费这个力气呢。

 

五、可读性大于没有需求的性能优化

你的代码只写一次,可别人会读它千万遍。你的代码会有未来的观众。代码也是一种书写形式的沟通。所以如果一个性能优化效果不是很明显或者对性能没有很强的需求。为了性能牺牲可读性是不可取的。

 

六、打印必要的日志

日志用做数据统计、系统监控和问题排查手段,虽然重要性不言而喻。但是因为通常在需求里没有明确提出,所以很多人可能在真正开发的时候会忽略一些重要日志的打印。那系统的哪些运行信息,需要进行日志记录?

1、功能模块的启动和结束(完整的系统由多个功能模块组成,每个模块负责不同的功能,因此需要对模块的启动和结束进行监控。是否在需要的时机正常加载该模块?又是否在退出结束的时候正常完成结束操作,正常退出?)

2、用户的登录和退出(哪位用户在什么时间通过什么IP登录或退出了系统)

3、系统的关键性操作(数据库链接信息、网络通信的成功与失败等)

4、系统运行期间的异常信息(NPE、OOM以及其他的超时、转换异常等)

5、关键性方法的进入和退出(一些重要业务处理的方法,在进入和结束的时候需要有日志信息进行输出)

 

编程一生

因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

 

想知道自己错过了哪些更新,可参考我不定期更新的《系列文章分类汇总》。

标签:工程师,同事,代码,实践,评审,功能模块,最佳,日志,优化
From: https://www.cnblogs.com/xiexj/p/17494420.html

相关文章

  • requests爬虫实践之安居客二手房屋数据(python实现)
    1.先从安居客官网上淘到如下数据(详细方法可见博主爬取爱彼迎那篇博客):2.源码(警告:若频繁爬取安居客官网数据,将被要求入网验证…)importrequestsfrombs4importBeautifulSoupheaders={'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,l......
  • 迅为视频 | RKNPU2 从入门到实践RK3568/RK3568开发板教程
     迅为基于瑞芯微RK3568和RK3588处理器设计开发的两款开发板都自带NPU,RK3568自带1T算力的NPU、RK3588自带6T算力的NPU,且这两款开发板使用的都是RKNPU2。    (RKNPU发展历程) RKNPU2较RKNPU1有较大的提升,但市面上关于这方面的资料却寥寥无几,导致很多想学习这方面知识的小......
  • 火山引擎数智平台最新直播活动:ByteHouse技术架构与最佳实践分享
    数据的时效性,正深刻影响着企业的发展。以大型半导体制造厂商为例,不同于常规工厂生产流水线,半导体制造通用的无人实验室生产模式高度依赖机械臂作业,且对整个生产调度链路中的精密度要求非常高,这背后主要依靠MES(ManufacturingExecutionSystem,制造执行系统)完成。因此,MES系统数据推......
  • DevOps|中式土味OKR与绩效考核落地与实践
    昨天一个小伙伴和我讨论了一下OKR和绩效管理,所以这次想简单明了地说下在中国怎么做比较合适,很多高大上的理论无法落地也是空中楼阁。首先说一些,我个人的理解道德品质和能力素质决定了一个人的职位行为职位行为决定了业务结果不同级别/工作性质的人员,绩效考核应该有不同权重组合团队......
  • DevOps|中式土味OKR与绩效考核落地与实践
    昨天一个小伙伴和我讨论了一下OKR和绩效管理,所以这次想简单明了地说下在中国怎么做比较合适,很多高大上的理论无法落地也是空中楼阁。 首先说一些,我个人的理解道德品质和能力素质决定了一个人的职位行为职位行为决定了业务结果不同级别/工作性质的人员,绩效考核应该有不......
  • 火山引擎数智平台最新直播活动:ByteHouse技术架构与最佳实践分享
    数据的时效性,正深刻影响着企业的发展。 以大型半导体制造厂商为例,不同于常规工厂生产流水线,半导体制造通用的无人实验室生产模式高度依赖机械臂作业,且对整个生产调度链路中的精密度要求非常高,这背后主要依靠MES(ManufacturingExecutionSystem,制造执行系统)完成。 因此,MES......
  • Web自动化测试中的最佳实践和常见陷阱
    在现代软件开发中,Web自动化测试已经成为保证软件质量和提高开发效率的重要手段之一。然而,仅凭自动化测试工具和技术并不足以确保成功。下面我们将介绍一些Web自动化测试的最佳实践和常见陷阱,帮助您避免一些常见的错误和困难。首先,让我们来看一些Web自动化测试的最佳实践。首要问题......
  • 第十六届全国大学生信息安全竞赛创新实践能力赛 初赛 Writeup By AheadSec
    文章目录WebunzipdumpitBackendServicePwn烧烤摊儿funcanaryshellwebgoReverseezbytebabyreCrypto基于国密SM2算法的密钥密文分发可信度量Sign_in_passwdMisc签到卡被生产加密的流量国粹pyshellWebunzipln-s/var/www/html/webshellzip-rywebshell.zipwebshellcurlurl/......
  • Flutter在字节跳动的现状与工程实践
    Flutter是当前跨平台技术中最火的一项,在提供极好的用户体验的同时,还能解决多端一致性问题,并有效降低人力成本。字节跳动希望把Flutter打造成下一代研发体系,支撑众多App的各种使用场景,为此,团队在Flutter上大力投入,覆盖了引擎技术、平台服务、开发框架等多个维度。Flutter在......
  • 正则表达式工作实践总结
    正则表达式是一种非常强大和灵活的工具,它可以提供基于模式匹配的文本检索和替换功能,广泛应用于文本处理、字符串操作、数据校验等领域。在 JavaScript 中,正则表达式是内置的一种数据类型,可以通过字面量 /pattern/ 或者构造函数 RegExp() 来创建。在我们的工作中,根据不同的业......