如何很好的Review自己的代码
写这篇博文的原因是因为自己写的代码经常会因为返工,delay项目的交付日期。总结了一下引起项目delay的原因,大概有如下几点:
- 在没有完全深熟悉需求交互细节的情况下;诸如根据不同渠道设置不同的订单状态变更--超时提醒和订单取消功能。
- 在没有想清楚自己代码如何实现业务逻辑的情况下;诸如对骑手排班--明天到当前周期结尾的排班及排班详情展示。
- 是否对业务逻辑有完整的测试用例;商家详情权限功能和可逆向加密算法的测试用例。
往往第一步和第二步是同时出现的,第二步的出现也在很大程度上源自于对需求交互细节的理解不到位,所以我们在开发中养成的习惯应该是这样的:
- 认真看需求分析,最好能复述出需求细节;构思自己代码如何实现该逻辑。
- 多沟通,与产品经理与前端工程师、测试工程师沟通清楚需求交互细节。
当然上面总结的还都是理论,我们在开发中应该以此为指导,慢慢养成良好的开发习惯。注解的使用。当跟别人一起开发某个功能,很可能由于方法取名的问题,写了重复的方法,在代码Review的时候,可以在方法上添加@Deprecated的注解,表示该方法是过时的,当有应用调用该方法的时候,会报错。
<!-- 注解的使用示例 --> public class AnnotationTest extends Test
{ @SuppressWarnings("deprecation")
public static void main(String []args)
{ <!--这句话是程序命令。执行的操作是当程序结束的时候运行垃圾回收-->
System.runFinalizersOnExit(true) ;
sayHello();
AnnotationTest t=new AnnotationTest() ;
t.show() ;
} <!--在方法上使用该方法,在使用该方法处会报错-->
@Deprecated
public static void sayHello()
{
System.out.println("hello ,world!");
} @Override
public void show()
{
System.out.println("super class");
} } public class Test {
@Deprecated
public void show()
{
System.out.println("super class");
}
}
上面是使用@Deprecated、@SupressWarning、@Overrider三个注解的示例,注解会被javac所识别,解析为注解类,编译器会根据不同的注解,编译出不同的结果,@Deprecated注解表示过时的方法,在使用低版本的JDK中方法的时候会出现;@SurpressWarning("deprecation")注解是抑制过时API的警告 ,这个可以放在调用过时的API的方法外部或者调用方法之前,那么在编译的时候javac遇到这个标识,即使知道API过时那么也不会输出过时API的提示。
<!--使用频率80%-->
Alt + '/' 代码提示
sysout + Alt + '/' 自动补全“System.out.println();”
public void AnnotationTest 双击类名Annotation,点击Run As->Java Application,即可以运行该测试类
Ctrl + '/' 为光标所在的行添加注释"//",不需要事先选中该行,取消注释也是Ctrl + '/'
Ctrl + Shift + '/' 添加注释"/* */",需要事先选中该行,取消注释使用Ctrl + Shift + '\'
Ctrl + Shift + 'C' 添加多行注释"//",取消注释同样使用Ctrl + Shift + 'C'
Ctrl + 'D' 删除当前行
Ctrl + 'M' 最大化和最小化当前光标所在的IDE窗口
Ctrl + 'L' 跳转到指定的所输入的行标数
Ctrl + Shift + 'T' 查找工作空间内的指定类名
Ctrl + Shift + 'O' 慎用,因为有时候import的包不是你所需要的包
Alt + '<-' 和 Alt + '->' 跟踪光标的上一个位置和下一个位置 Alt + Shift + 'J' 添加注释,该注释方便Eclipse生成API文档,
附:
- Eclipse安装眼睛保护色主题,可以直接打开 Help -> Eclipse Marketplace 搜索Eclipse Color Theme来进行安装:安装完之后就可以在(Window->Preferences->General->Apperance->Color Theme)中找到颜色主题插件的设置界面了,在这里可以根据自己的喜好选择自己喜欢的主题了。
- Eclipse中设置注释标签@User的三种方式:第一种,在Eclipse安装目录中的eclipse.ini中添加一句 -vmargs -Duser.name=Sun, Wu-Kong;第二种,通过菜单 Window->Preference -> Java -> Code Style -> Code Templates 在右侧选择Comments,将其中的Types项,然后选右边的"Edit",进入编辑模式,将 @author ${user} 中的${user}改成你自己的名字即可;第三种,计算机-->管理-->本地用户和组-->用户,使用管理员账户登陆 可以任意修改用户名 ,然后重启电脑。
- Eclipse中的项目如何生成javadoc文档,项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步,在Javadoc Generation对话框中有两个地方要注意的:javadoc command:应该选择本机安装jdk路径中的\jdk1.8.0_31\bin\javadoc.exe,destination:为生成文档的保存路径,可自由选择,按finish(完成)提交即可开始生成文档。接着可以看到Console控制台的输出。
- Eclipse中设置Editors的默认打开编辑器:window->preferences->General->Editors->File Associations;然后在File types中Add一个新的*.xml(如果有已经有的格式文件,就不用了),然后再在Associated editors中选中XML Editor,然后点击Default按钮即可。
- Eclipse在使用过程中,如果从.java跳转到.xml文件,可以如下操作:最笨的方法:CTRL+H可以直接在整个项目中查找;最快的方法:CTRL+SHIFT+R可以直接打开非JAVA,CLASS的其他文件,这些快捷操作起来都是很快的。与此同时,CTRL+SHIFT+T可以直接打开BEAN的类。
- 更多快捷方式参考:http://jingyan.baidu.com/article/c275f6bac8e43ae33d756716.html
如何很好的Review自己的代码的更多相关文章
- Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题:
Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题: Screen.Cursors[crHandPoint] := LoadCursor(0, IDC_HAND);放在主窗体 O ...
- 很实用的50个CSS代码片段
原文:50 Useful CSS Snippets Every Designer Should Have 面对每年如此多的 新趋势 ,保持行业的率先是个非常困难问题. 站点设计者和前 ...
- 听说图像识别很难,大神十行代码进行Python图像识别
随着深度学习算法的兴起和普及,人工智能领域取得了令人瞩目的进步,特别是在计算机视觉领域.21世纪的第二个十年迅速采用卷积神经网络,发明了最先进的算法,大量训练数据的可用性以及高性能和高性价比计算的 ...
- 马拉车——Manacher一篇看上去很靠谱的理解(代码显然易懂)
由于回文分为偶回文(比如 bccb)和奇回文(比如 bcacb),而在处理奇偶问题上会比较繁琐,所以这里我们使用一个技巧,在字符间插入一个字符(前提这个字符未出现在串里).举个例子:s="a ...
- 研发团队如何借助Gitlab来做代码review
代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现有工具在团队内部形成代码revie ...
- Gitlab来做代码review
Gitlab来做代码review 代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现 ...
- (转)dedecms代码详解 很全面
dedecms代码研究(1)开篇dedecms 相信大家一定都知道这个cms 系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他 ...
- ReSharper的功能真的很强大主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚
二.ReSHarper 代码规范.单元测试.... ReSharper的功能真的很强大,主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚! 1.像命名不规范,f ...
- dedecms代码详解 很全面
dedecms代码研究(1)开篇dedecms 相信大家一定都知道这个cms 系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他 ...
随机推荐
- [Java工具]Java常用在线工具集合.
转载申明: 转载自http://www.hollischuang.com/Grepcode SearchCode ProcessOn json.cn diffchecker MaHua .马克飞象 . ...
- Android WebView 总结 —— Java和JavaScript交互
交互如何实现 实现Java和js交互十分便捷.通常只需要以下几步. WebView开启JavaScript脚本执行 WebView设置供JavaScript调用的交互接口. 客户端和网页端编写调用对方 ...
- javascript闭包学习例子
javascript中的闭包个很让人头疼的概念.总结一下 闭包是指有权访问一个函数作用域中的变量的函数.创建闭包最常见的方式,是在一个函数内部创建另一个函数,用return返回出去. 使用闭包可能造成 ...
- Java语言的个人理解
Java语言的个人理解(比价深层次吧) 大四的生活确实十分的奢靡,不锻炼,不读书,几乎就是当一天和尚撞一天钟的生活,太颓废了,还好自己不是这个样子,不过身体确实差了很多,昨天跑了一圈内环(4KM),今 ...
- 快速入门系列--WCF--04元数据和异常处理
本章节将进行元数据和异常处理的介绍,这部分内容概念型比较强,可以快速浏览一下就好. 客户端和服务器借助于终结点进行通信,服务的提供者通过一个或者多个终结点将服务发布出来,服务的消费者则通过创建与之匹配 ...
- SSIS package 更新 variable
在Package中声明一个variable,在package运行的过程中,SSIS如何update Variable? 第一种方法:使用 Script Task 来更新Variable的值 1,创建一 ...
- ELCImagePickerController 的集成
1, 将文件夹ELCImagePicker拷贝到工程中 2,添加系统库AssetsLibrary.framework 3, 添加系统库MobileCoreServices 4,在头文件中加入引用# ...
- xlat指令...
;就是一个串str1, lea ebx, str1 然后我们ebx+1总是加上的是一个字节, 无论(串是word, byte, dword) . .model flat .stack include ...
- 【Android】[转] Android Handler应设为static
android开发中,使用Lint检测时会提示这么一句话 : This Handler class should be static or leaks might occur.意为handler应用s ...
- Android:StatFs类 获取系统/sdcard存储空间信息
在存储文件时,为了保证有充足的存储空间大小,通常需要知道系统内部或者sdcard的剩余存储空间大小,这里就需要用到StatFs类. 1. 判断 SDCard 是否存在,并且是否具有可读写权限 /** ...