高效开发最佳实践全面指南

news/2024/10/9 15:16:51

学会表达

  1. 在写复杂表达式时,可使用一个变量将表达式用变量的方式表示
  2. 函数、变量命名要语义化

学会复盘

  1. 花一些时间清理自己的代码
  2. 尽量以函数式进行编程

拥抱变化

  1. 在开发功能时,要考虑变化的情况。该死的产品经理
  2. 在封装时要考虑能否封装成一个 js 模块,后续只需要调用响应的 API 即可

学会修复 bug

  1. 遇到 bug 考虑为了会出现此缺陷,一定要关注上下文
  2. 学会正确使用 git commit 规范,严格要求自己(对于这一点,我是吃亏了,像是下面这种,遇到问题,完全找不到头绪。于是强迫写了一个简化版 commit 工具,说多了都是泪)

不要怕错

  1. 遇到自己不懂的逻辑,但又不敢改之前的代码,这是不行的。
  2. 大胆的修改,或者自己又更好的实现方式或者重构的方法可以及时修改

每个方法只关心一个上下文

  1. 一个函数只做一件事,将一个功能按照不同模块划分开

消灭注释

  1. 添加注释的前提要保证函数命名变量要语义化
  2. 任何需要添加注释的地方,99% 是因为这段代码不合理

学会命名

  1. 如果在编写一个函数时无法对其进行命名,那么这个函数的设计是不合理的。
  2. 对函数要进行准确的命名,这样更加有利用代码的可读性

学会提炼函数

  1. 提炼函数可以让我们将意图与实现分开
  2. 以意图命名函数,但是如果发现自己不能合理命名,此时不应该提炼这个函数,应该要考虑更多

学会返回

  1. 大部分函数可以使用 result 作为返回值,在函数开头定义,在函数结尾 return, 这样在下次看这段代码时就知道返回的是什么了。

考虑时机

  1. 在拿到需求时,很容易去实现功能,但是不会去调研,修改 bug 也是如此
  2. 在实现功能时要考虑清楚这个"动作"要在什么时候去触发,返回等等。

保持可拓展性

  1. 在拿到新需求时不要想着昨晚就 ok, 因为你无法保证在后面的某一分钟产品让你添加一个新的功能
  2. 要多使用 map 结构来保持功能的可拓展性,让程序走不同的代码逻辑

巧用模块

巧用方法

  1. 要学习的是方法,比如《重构》《代码整洁之道》
  2. 只要你的方法好,后面产出的代码才会好

择善其从

  1. 如果觉得你在做重复的工作时,一定是你的方法不对,而不是这个工作不对
  2. 任何一个人物都有可学习的地方, 我们需要做的是脑力活动,不存在像搬砖那样的情况
  3. 学习别人实现的源码,看别人的相同效果是如何实现的,择善而从自己去实现一个新的方案

学会参考

产品思维

  1. 产品思维是好的,能理解产品需求,能与产品进行有效沟通这是优势
  2. 学会跳出程序员的纬度,用户多学科交叉的能力。要了解产品提这个需求的目的
  3. 在不了解需求的情况下要多于产品进行交流,可以带着方案去找产品讨论

适当做减法

学会做需求

  1. 接到新一个新需求,调研,考虑这些方法是否可行,否则做到一半要换方案,就只能自己加班
  2. 在明确了自己的方案并有一个想法的时候,多去尝试,尝试使用它,如果发现不太合适,也没关系,只要在里面学到了东西,那时间就没有白费。
  3. 做在需求时不能局限于这个需求,要有可拓展性, 眼光要放长远

学会问问题

  1. 学会简而言之的把问题描述清楚
  2. 在问问题时,可以带着自己的方案去询问

多用快捷键

  1. 平时要养成"快"的习惯

一段时间干好一件事

动手的前提:过一遍接口的文档

快速定位问题:

  1. 看上下文 -> 看 issue -> 看文档 -> 看文章 -> 看源码

衡量代码好坏有两个非常重要的标准就是:运行时间和占用空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/69401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

【 java 安全】Java对象都是堆上分配?看完Java中对象逃逸分析就知道答案了

原创 龙虾编程随着JIT编译期的发展与逃逸分析技术逐渐成熟,所有的对象都分配到堆上也渐渐变得不是一定的。在编译期间JIT会对代码做很多优化,其中有一部分优化是减少内存堆分配压力,这里有一种重要的技术叫逃逸分析。逃逸分析是一种可以有效减少Java程序中同步负载和内存堆分…

【SQL SERVER】PIVOT与UNPIVOT之行列转换

基础例子 在数据处理的过程中,常常遇到行列转换的问题。例如,人员的考勤。可能表格中,1~12月都在同一个字段,实际中,为了查看方便,同一个人的考勤记录,能在同一行,这样查询起来比较方便(行转列)。或者,表格设计的时候就是1~12月,在其他数据分析时需要将列转行。即类…

SkyWalking组件自定义链路追踪

SkyWalking组件通过添加相关配置就可以获取到接口的相关信息,更加方便的追踪和处理问题 接下去讲下步骤: 1、在service层添加两个注解;@Trace@Tags({@Tag(key = "getDataByCode",value = "returnedObj"),@Tag(key = "getDataByCode",value = …

沈师傅食品携手纷享销客CRM系统,加速数字化转型

沈师傅食品有限公司是一家专业研发、生产和销售鸡蛋干系列产品的大型集团 公司,技术与研发实力雄厚,先后获得多项国家专利。公司成立于2006年,开创 了全新的鸡蛋干品类,创办人沈国平先生素有“鸡蛋干之父”之称,先后被央视、 四川电视台、北京卫视、优酷、凤凰网等国内知名…

总奖金高达10万元!华为算法精英实战营“亲和任务调度系统”来啦!

在无线领域,利用AI技术对任务准确建模、多核系统任务最优调度等问题都是非常有价值的算法难题。随着物联网、大数据、AI时代的到来,时延、可靠性等指标要求越来越高,海量的数据分析、大量复杂的运算对CPU的算力要求越来越高。CPU内部的大部分资源用于缓存和逻辑控制,适合运…

高产胜那啥,带你上线我的新项目!

希望大家能通过这个项目掌握企业级项目的开发、优化和上线方法,得到全方面编程技能和程序员素养的提升。大家好,我是程序员鱼皮。9月,我处于极度爆肝状态,成功完结了最新带大家做的项目 面试刷题平台 。当我们做完一个项目后,一定要记得把项目上线,这样才算是完成了学习的…

webapi 创建(空)

1. 打开vs2019 ,选择创建新项目2. 选择ASP.NET Web 应用程序(.NET Framework)3. 配置项目信息(名称,位置,框架)4. 选择空模板(WebAPI复选框选中)5. 这样里面就没有MVC的三层,因为前后端分离,webapi中只有两层。6. 空的WebApi程序创建完成。

.NET 代码混淆工具-JIEJIE.NETWX

阅读目录前言 项目介绍 项目功能 项目效果:蓝猫机场 项目地址 最后前言 JIEJIE.NET是一款强大的开源.NET程序集混淆工具。它利用深度加密技术和多样化的混淆策略,有效地保护了.NET软件的版权和源代码安全,防止未经授权的访问和篡改。 项目介绍 JIEJIE.NET是一个用C#开发的开源…