专栏首页JavaGuide入职半年多,被diss无数次,Guide哥含泪总结了这些原则。

入职半年多,被diss无数次,Guide哥含泪总结了这些原则。

1.修改代码要慎重

修改代码之前,一定要思考清楚,不要自以为很简单,结果改了之后出现了大问题。这个在我们写代码的时候也一样,一定要思考清楚之后再写。

就拿我自己举例子,我们一般项目上都是开发做完相关功能之后,测试随后会对你做的功能进行一系列测试。很多时候,QA 测出一些问题之后,我都自以为很简单,并没有太多思考,然后修改之后发现又出现了其他问题。

代码很多时候就是这样的,这个地方的 Bug 补上了,说不定另外一个地方的 Bug 又出现了。所以说,修改代码和写代码的时候一定要慎重,一定要思考清楚一点。

2.Code Review 很重要

代码复查或者说 Code Review 很重要!这是一项成本不大,但是做好了之后收益非常非常大的活动。

一般情况下,大部分项目定期都是要做 Code Review(一天一次最好)的 ,尽量细致到每一行代码或者每一行重要的代码。对于代码中存在的问题,不论是命名问题、潜在的 Bug 还是某部分代码有更好的写法都要当场指出。

我听到过很多人说平时工作太忙,根本没有时间 Code Review,我觉得这只是一个逃避 Code Review 的接口。孤尽大佬在他分享《Code Review 是一场苦涩但有意思的修行》 这篇文章中也说到:

“业务跑得快,代码写得快,可能写的是一堆没有营养甚至是有毒的代码。我们需要追求的是 Code Review 的效能,而不是逃避 Code Review 。Code Review 是一种修行,对于双方都是一样的收获。

3.尽量减少 TODO

TODO 描述的是那些我们应该做,但是出于某些原因暂时还没有做的事情。

随着项目的发展,你们项目的 TODO 是不是越来越多了呢?你自己写的 TODO 最后是不是到了项目结束或者上线还没有做呢?

实际上这是一个不那么好的习惯,现实工作中尽量做到记得定期查看 TODO 注释,能完成的尽量完成!不能完成的呢?emmm....留着以后接手代码的人来做吧(开个玩笑~能做还是要尽量做)!

说到这,我赶紧去看了一下我所在的上个项目的代码。

emm...,不说了,TODO 貌似有点多,打脸了。

4.不要孤立的写代码

一定不要孤立地写代码,多看看别人的代码。 这样我觉得有下面几方面的好处:

  1. 避免了团队的单点因素,比如某一部分的代码只有某个人懂;
  2. 提高了代码质量;
  3. 从别人的代码中或许也能学到一些东西;
  4. ......

另外,国外很多公司都是结对编程,这玩意好像在国内行不通啊!

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。

一个人孤独的编程可能是下面这样的:

如果,两个人一起 结对编程(Pair programming)的话,可能是下面这样的:

5.试着从更高的层面去了解大部分代码的功能

大型系统几乎没有一个人能够明白所有代码或者功能。除了你正在开发的功能之外,试着从更高的层面去了解大部分代码的功能,这样你就可以理解各个功能块之间是如何交互的了。 这个建议在我经历的上一个项目(学生答题类)中感受颇深。整个项目虽然不是很庞大,但是业务功能点还是比较多,初期的时候,我没有搞懂学生教材选择那块的逻辑 ,导致后面我做学生答题统计模块的时候又花了很久询问相关的同事才搞清楚。

6.选择值得投入的技术

在我大学刚学 Java 后台开发的时候,我学习过什么呢?实话实说是 JSP、Struts2....这些现在看起来老掉牙的技术,这些技术放在现在确实没有学习的理由了。

我自己当时学这些实际也是踩了坑,被一个学长忽悠了,他对我说很多公司做项目还是用这些技术。奈何他当时比我厉害,所以,我选择相信了他。

我们每个人的时间都是有限的,这个在工作之后的感触尤其明显,所以,我们一定要尽量在有限的时间去学习那些值得我们长期投入学习的技术。

一项技术是否值得长期投入学习,简单来说,我觉得主要可以下面 3 点:

  1. 这个技术的学习成本。
  2. 这个技术的发展势头如何(Google trends 能很好的反映一项技术的发展势头)。
  3. 看看一些业界比较权威的技术大佬对这个技术的看法。

本文分享自微信公众号 - JavaGuide(JavaGuide),作者:Guide哥

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 聊聊我的HTTP框架近况:支持AOP,拦截器,配置文件读取...

    距离上一次给小伙伴们汇报简易版的“Spring Boot”的完成情况已经有半个月了。时间过得是真特么快啊!

    Guide哥
  • 我参与了两个接近100k+star的开源项目!聊聊开源项目贡献指南

    以 SkyWalking 举例。在本地编译源码前,先查看相关的文档:https://github.com/apache/skywalking/blob/v8.0...

    Guide哥
  • 你会用@PostConstruct和@PreDestroy不?Java9+中的替代方案知道不?

    @PostConstruct和@PreDestroy 是两个作用于Servlet生命周期的注解,相信从 Servlet 开始学 Java 后台开发的同学对他应该...

    Guide哥
  • 代码Review的一些事

    用户1130025
  • 我在编程20年中学到的5件事 - DaedTech

    物流IT圈
  • DevOps之代码模块设计浅析

    DevOps(开发:Development和运维:Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量...

    yuanyi928
  • 「WebRTC」最新 WebRTC 源码目录结构分析

    最近一直在研究 WebRTC源码,发现目前网上分析WebRTC源码的资料非常少。随着Google不断推进WebRTC标准,WebRTC 代码的变化非常大,很多以...

    音视频_李超
  • 关于 Code Review 的 5 个建议,你一定要看~

    你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编码标准。这是因为我们认为:

    DevOps时代
  • 好程序需要你写(至少)两遍

      最近这些年,越来越多的人开始转向敏捷开发。各种敏捷开发技术并不新鲜,大多是在80 和 90年代发展形成。但只是在最近这些年,程序员和(更重要的是)一些商业顾...

    JNingWei
  • 改掉这14种习惯,初级程序员分分钟进阶高级程序员

    很多人也会有这种疑惑,尤其是入行好几年了还是个底层人员的小伙伴,今天就告诉你,你如何晋级为高级程序员。同时也反思下自己还有哪些不足。

    学神IT

扫码关注云+社区

领取腾讯云代金券