如何提高开发效率

  一个接口,se已经定义好了,但是你开发为什么这么慢?虽然之间穿插了别的事,但是还是很慢?是思路问题,还是技巧问题

  •   多上点心,少写bug!     

  同事要求要上传压缩的文件,刚好之前有一个压缩函数,于是ctr+c/v。我没事,review code,理解一下压缩文件的原理。当我看源码时,却发现了一个bug:

1
2
3
4
int temp;
while(temp = is.read()){
  os.write(temp); 
}

  这种读写文件代码,已经见过很多次了,可以说非常熟悉。所以我一眼就发现了bug。这个向文件中写的啥哟。幸亏是自己在开发中发现的问题,不然转测后自己以为没有问题,最后爆出问题,那代价就很大了。之前和同事对接口的时候,也混淆了大小写,甚至给别人传递了错误的文档编码。以及迷之自信,在服务部署后没有确认服务状态,就离开,以为自己节约了时间,其实浪费了很多时间定位问题。

  作为程序员,一定要有严谨的思维和习惯,要知道自己写的代码要运行无数次,一定要保持其稳定可靠。这样一点一滴地做好,认真对待工作,才能在工作中如鱼得水,升职加薪。

public class BiProjectEngine{
    @Autowired
    BoardQueryMapper boardQueryMapper;
}  

  这段在springboot工程中看似很平常的代码,却出现了bug。这也是测试人员测试不通过,然后我看日志,看到null报错,然后检视代码发现的。若是对spring的依赖注入没有深入理解,这个错误是很难被发现的。发现了吗(BiProjectEngine没有被Spring托管,所以BoardMapper是会自动注入的),所以要多理解原理,从此出发,建立自己的知识体系。

  •   别让架构师直呼受不了你!

  一天的工作还是很紧凑的,但就是感觉效率不高。其中在注释代码,添加jvm参数等过程,自己显得粗心大意。比如在还原注释代码的过程中,选择的区域不对。在添加jvm参数过程中,复制了多余的内容。这个事情本来很简单,不会犯错,但是如果不动脑子,还是会犯错。起码在两个地方可以发现并修改这个错误,一个是在复制的时候,一个是在粘贴的时候。

  然后下午,距离上线已经很紧了。但是测试说还有问题。我去看日志,日志很少,基本看出问题出在哪里。自己检查代码,也不知道代码出现在哪里。然后只能加点日志。让测试重新发一下。然后我就在后头看到了传递的参数。我复制了参数,然后在本地调用,但是本来还想改改在部署上去的,因为本地配环境比较麻烦。但是一个同事开玩笑说我又要部署了。于是我心理真的很不好受,要尽量一次成功,在本地调好,不要老出问题。环境复杂也要配,刚好这个不涉及数据库操作,不是黄区。然后自己在本地调试,又发现不少问题。比如压缩问题,解压文件,文件路径等问题,如果不是自己认真调,真的要拖很久才能解决。

  自己在匆忙之中,思路也比较乱,全靠反复的debug发现问题,然后解决。写的代码也很臃肿,对此,我只想说,能够正确表达业务已经很不错了,虽然我也想把业务写的优雅些,但是真的很难,也有一个过程。

  自己写代码时,很多基本的操作不会,还是基本功不够扎实,需要时常手撸代码,最后看一下压缩文件的基本概念。

1
2
3
4
5
6
7
8
9
10
11
12
13
//
ZipEntry zipEntry 
 
 
ZipOutputStream
String name = zipEntry.getName(); // 这个就是压缩文件的名字
 
 
File[] files = file.listFiles();// 返回文件夹下所有的文件。
 
//
压缩文件流和普通的文件流:
普通文件流可以直接用,但是压缩的文件流还是要解压缩后才能使用。就像视频数据,在传输的过程中都会压缩的。<br><br>// ResponseEntity<Reource> res = restTemplate.getEntity() ; // 自己在本地练习一下文件传送。,这是是双方约定好好的数据传输接口。

  

 

posted @   懂得了才能做一些改变  阅读(314)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2019-05-07 zookeeper和etcd的安装和使用
2018-05-07 Hadoop初期学习和集群搭建
点击右上角即可分享
微信分享提示