浅析研发效率

浅析开发效率

每个研发都会追求高质量、速度快的完成开发,经过观察,我们发现每个研发人员的快发效率是有很大差异的,下面我们从几个方面简单讨论下开发效率的一些影响因素

1.工具

一个研发人员对工具的使用,往往能够表现出他的专业性,比如摄影师善长摄影设备的使用、程序员对键盘的熟练、司机对驾驶汽车的感觉。作为一个研发人员,工具对研发效率有着不容小觑的影响,主要有下面几点

  • 1.工具类型的选型,比如IDE工具目前如IDEA,Eclipse,MyEclipse,VS等
  • 2.工具的特性,比如如何借助ide进行代码重构,代码生成,debug等
  • 3.工具的熟练度,比如快捷键的使用,效率是大大高于鼠标的效率

比如本人常用的工具如下:vim,idea,chrome,sublime,macdown,postman,钉钉

2.语言

每个语言,都有自己的使用场景,选对语言很重要。如何才能知道是否选对了语言呢,这个就要考验研发团队的技术丰富度了…

程序员使用自己擅长的语言时,开发效率是不擅长语言的3-5倍,同样的,对语言的熟练度也会大大影响研发效率,比如做java开发的,对java.lang,java.util,java.io等核心api的熟练度

3.质量与测试

我们都知道代码重构,但是有时候却容易忽视代码的质量,或者是代码的Test Case写的不够充分。程序员自己在测试时,经常陷入一个误区,就是使用正确的数据,正确的逻辑去测试,但是对于边界、异常的考虑却不够充分,这方面不多说了,产品喊我去修改bug了…

常见的测试方法

  • 单元测试
  • 集成测试
  • 系统测试
  • 验收测试
  • 白盒测试
  • 黑盒测试

4.重构

一个老鸟,代码写多了,对于代码的坏味道,就会有一种直觉,这时候就应该拿出重构的利器,对自己写的代码进行重构,关于重构的技巧,相信每个程序员的理解都不一样,这方面没有捷径,只能看个人修养与学习,可以参考关于重构的相关书籍
比如代码的坏味道,下面的几种味道,了解哪些呢?

  • Duplicated Code
  • Long Method
  • Large Class
  • Long Parameter List
  • Divergent Change
  • Shotgun Surgery
  • Feature Envy
  • Data Clumps
  • Primitive Obsession
  • Switch Statements
  • Parallel Inheritance Hierarchies
  • Lazy Class
  • Speculative Generality
  • Temporary Field
  • Message Chains
  • Middle Man
  • Inappropriate Intimacy
  • Alternative Classes with Different Interfaces
  • Incomplete Library Class
  • Data Class
  • Refused Bequest
  • Comments

5.业务

或许每天写的代码都是crud,但是当你不断的深入,当业务达到一定的熟练度后,你会发现写代码的效率大大提高。有些程序员或许会对这些业务毫不在乎,但是牛逼的大神,往往不仅仅代码写的6,也同样是业务专家!!!

比如做电商,是否能够抓住电商的核心领域模型

比如做crm,是否能够抓住crm的核心领域模型

比如做库存管理,是否能够抓住库存的核心领域模型

6.设备

当你是一个程序员时,你应该拥有的设备如下,如果还没有…好吧,大家都被一个字约束了…穷!!!

  • mac
  • 显示器24寸 * 2或者更多
  • 机械键盘一个,键盘的寿命非常长的,买个好的键盘,绝对超值…
  • 腰枕
  • 午睡床
  • 神器鼠标
  • 好的隔音耳机…戴上耳机,世界都是我的了…

如果目前还不能很好的实现键盘盲打…说明写的代码量还远远不够!!!

7.专注度

写5分钟代码,看一下手机微信,假程序员!!!写程序是需要高度投入的,但是现在手机的繁荣,让我们时不时的低头look下手机,效率从何谈起。下次可以试试,将手机屏幕反过来,你会发现…世界如此美好,双手敲击键盘的美妙。

总结

没有捷径,只能日日撸,实在不行,还得夜夜撸…烙铁,你今天撸了吗_

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ThreadLocal 是 Java 中的一个类,它提供了一种线程局部变量的机制。线程局部变量是指每个线程都有自己的变量副本,每个线程对该变量的访问都是独立的,互不影响。 ThreadLocal 主要用于解决多线程并发访问共享变量时的线程安全问题。在多线程环境下,如果多个线程共同访问同一个变量,可能会出现竞争条件,导致数据不一致或者出现线程安全问题。通过使用 ThreadLocal,可以为每个线程提供独立的副本,从而避免了线程安全问题。 ThreadLocal 的工作原理是,每个 Thread 对象内部都维护了一个 ThreadLocalMap 对象,ThreadLocalMap 是一个 key-value 结构,其中 key 是 ThreadLocal 对象,value 是该线程对应的变量副本。当访问 ThreadLocal 的 get() 方法时,会根据当前线程获取到对应的 ThreadLocalMap 对象,并从中查找到与 ThreadLocal 对象对应的值。如果当前线程尚未设置该 ThreadLocal 对象的值,则会通过 initialValue() 方法初始化一个值,并将其存入 ThreadLocalMap 中。当访问 ThreadLocal 的 set() 方法时,会将指定的值存入当前线程对应的 ThreadLocalMap 中。 需要注意的是,ThreadLocal 并不能解决共享资源的并发访问问题,它只是提供了一种线程内部的隔离机制。在使用 ThreadLocal 时,需要注意合理地使用,避免出现内存泄漏或者数据不一致的情况。另外,由于 ThreadLocal 使用了线程的 ThreadLocalMap,因此在使用完 ThreadLocal 后,需要手动调用 remove() 方法清理对应的变量副本,以防止内存泄漏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值