阿里阿里前端代码规范文档检测结果能否导出

&>&阿里代码规范
阿里代码规范
上传大小:3MB
比较好用,适合新手,安装简单,使用详细教程官方都有介绍
综合评分:0(0位用户评分)
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
dearfinance
综合评分:
积分/C币:10
综合评分:
积分/C币:10
综合评分:
积分/C币:0
zhangjesse97
综合评分:
积分/C币:5
综合评分:
积分/C币:3
综合评分:
积分/C币:2
综合评分:
积分/C币:5
综合评分:
积分/C币:5
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
阿里代码规范
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
super_admin_all
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
阿里代码规范阿里巴巴于 10 月 14 日在杭州云栖大会上,正式发布众所期待的《阿里巴巴 Java 开发规约》扫描插件!
简单了解一下这插件
该插件由阿里巴巴 P3C 项目组研发。
代码已经开源,GitHub:阿里介绍文章:
插件支持了IDEA、Eclipse,在扫描代码后,将不符合规约的代码显示出来,甚至在 IDEA 上,还基于 Inspection 机制提供了实时检测功能,编写代码的同时也能快速发现问题所在,还实现了批量一键修复的功能。
IDEA 下如何使用?
1.打开 IDEA ,选择 File - Settings - Plugins - Browse repositories打开 IDEA,选择 File - Settings - Plugins - Browse repositories 后,输入&alibaba&选中&Alibaba Java Coding Guidelines,点击&Install。
2.重启IDEA,开始使用安装后,会提示你重启 IDEA 已启用插件,重启后就可以在你的项目上疯狂点击右键了,当然菜单栏也会出现俩按钮,它有个快捷键是Ctrl+Shift+Alt+J。
选中某一个类,或者在这个类里边右键也可以
3.扫描出坏代码扫描代码后,将不符合规约的代码按&Blocker/Critical/Major&三个等级显示在下方,双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能。
解释下Blocker/Critical/Major三个等级,
在 Snoar 中对代码规则有五个级别,这是前三个:崩溃/严重/重要 ,也就是说前两级别是必须要处理掉的。
Eclipse 如何安装插件?
Eclipse 版插件支持4.2(Juno,JDK1.8+)及以上版本,我们提供自主的Update Site,通过 Help && Install New Software 然后输入https://p3c.alibaba.com/plugin/eclipse/update即可看到安装列表。大家可以通过 Help && Check for Udates 进行插件新版检测
原文链接:http://www.cnblogs.com/mafly/p/aliPlugin.html?from=singlemessage
阅读(...) 评论()一小时写给同组的如何使用工具检测代码质量
一小时写给同组的如何使用工具检测代码质量
因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下:
在接口不通的情况下进行单元测试
使用Mockito, 如果获取余额部分代码为:
因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下:
在接口不通的情况下进行单元测试
使用Mockito, 如果获取余额部分代码为:
public class PayServiceImpl implements PayService {
private BizPayService bizPayS
public BigDecimal getBalance(String pin) {
return bizPayService.getBalace("", 0);
} catch (BizVirtualPayException e) {
e.printStackTrace();
return null;
public void setBizPayService(BizPayService bizPayService) {
this.bizPayService = bizPayS
bizPayService为一个dubbo接口,如果没有提供,那么测试代码如下:
public class PayServiceTest {
public void testGetBalance() throws BizVirtualPayException{
PayServiceImpl payService = new PayServiceImpl();
BizPayService bizPayService = mock(BizPayService.class);
when(bizPayService.getBalace("", 0)).thenReturn(new BigDecimal(20.00));
payService.setBizPayService(bizPayService);
Assert.assertEquals(20.00, payService.getBalance("").doubleValue(), 0);
单元测试覆盖率
安装Eclemma, 安装包
安装后在eclipse中:
多了最左侧的图标
对测试代码右键Coverage as进行执行,执行完后:
显示该测试代码覆盖率
展开可见:
红色为未覆盖部分,说明该处代码没有测试到可能存在隐患
代码质量三驾马车之一-findbugs
静态代码缺陷检测工具
1. 对代码击右键,选择FindBugs-&FindBugs,我们的开发环境中一般内置了该插件
2. 执行完成后,在代码根目录会显示找到的缺陷个数如图:
3. 打开对应的类,在左边框有如下的图标,点之:
4. 下面会出现具体的说明:
5. 对字段进行说明
Confidence 是造成缺陷的可能性, 一般为High的必须解决,这里是因为日志过滤其中使用了静态变量,而用实例方法对静态变量有可能导致并发的问题。
Confidence 为Hign的必须解决。
其他Confidence的必须理解其可能会造成的影响,确定不会影响系统运行时可以不解决
7. 常见问题
缺少空指针检查
这个不仅会造成代码缺陷,还会减少性能,因为不显示的检查空指针,JVM会动态的加进去这部分内容
打开资源没有在finally中关闭
冗余空指针检查
紧接着new 之后进行空指针检查,是没有必要的
try{}catch空指针
通常我们的代码如下:Connection conn = try{conn = ..}catch(Exception e){}finally{conn.close}这个时候这个conn有可能为空。
用==比较对象
我们出现过这个问题,用==比较Integer导致bug
成员变量和局部变量同名
会导致变量被覆盖
代码质量三架马车之二-CheckStyle
对代码击右键
Window-&Show view-& CheckStyle-&Checkstyle violations打开一个新的View,有所有代码规范有问题的列
这个工具只有代码规范和风格的检查,一般我们需要注意:
关键字之间的空格
要加,加上代码好看
常量名, 变量名,方法名。
这个要改,不改不专业
要改,太长的类说明设计有问题
可以通过设置eclipse Ctrl+F的动作来改
要改,太长说明设计有问题
equals hashCode必须同时覆盖
这个要看HashMap的hash算法的源码部分才能理解为什么
代码质量三家马车之三-PMD
比CheckStyle功能更强的静态代码检查工具,主要是检查一些日常编码中我们经常犯的错误,比如String,StringBuffer的滥用, 复杂度等
1. 右击代码
2. 如上左侧的小图标表示了级别, 带红x的必须解决, 其他的酌情而定
3. 常见问题
常见于策略,模板等模式的实现中,有的子类没有实现该方法,
这个说明算法设计有问题
overriden注解
要加,可以利用eclipse的静态分析功能编译器发现问题
System.out.println 要用日志代替,效率极低
抛出JDK自带异常
要用自定义异常代替
我们定位不超过12
could be final
忽略,这个工具想让我们把所有的变量都加上final,没有必要
没有用泛型
e.printStackTrace()
改为日志打印
public 方法必须含有详细注释
private 方法用小方法自注释的风格保证可读性及可维护性
对外开放API接口要包括包注释
注释中方法有复杂算法的要进行说明
分支语句要加注释
要保证注释中的内容必须与代码逻辑是一致的
注释要对所有入参进行说明,说明取值范围,边界值,是否允许为空等
注释要对出参进行说明,特别是集合的情况,要说明该集合是否有肯能为null,如果没有,则用户不用再判空
注释对异常进行说明,说明可检异常在什么情况下会抛出
注释要占代码行数的20%左右,尽量达到
敏捷开发最佳实践之一:
测试驱动开发。(这个有机会跟大家分享下)
这是单元测试的一个目的。 先写单元测试,用assert来确定方法的返回结果。在开发代码的时候要注意满足这个期望的结果永远是正确的,有利于设计接口,以及保持正确的返回值。
减少不用代码
减少复制粘贴来的大量不用代码。比如BizMessage中所使用到的APIUtils及JSONUtils 这两个类。 其中设计了JSON字符串的处理,但是实际上使用阿里巴巴的FastJSON可以直接满足要求,直接替换之,这样就不用为了这两个类写单元测试了。
在未他们写单元测试的时候才会发现他们的方法有大量没有使用的部分。
并且因为写单元测试进行覆盖率的增长是一件很麻烦的事情,会促进大家尽量写行数少的代码,以减少单元测试代码的工作量。
发现设计问题
在进行单元测试的时候难避免使用mock技术,当你发现一个类不好mock的时候,那么说明该类在设计上存在问题,具有不可测试性,这样的类应该修改。
检查代码逻辑错误
使用覆盖率工具能够检查出大量分支为红色的部分,这个说明我们的单元测试没有测试带该异常分支。同样的,我们的生产环境该分支可能是存在问题的,需要修改。
单元测试就是对外API文档
好的单元测试可以看做是一份接入我们API的客户端文档,比如我们写API的使用说明的时候,就可以按照我们单元测试的逻辑来写
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至: 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】新年大招!云栖社区为在读大学生/研究生准备了一份学(huan)习(zhuang)攻略,发布博文即有机会赢得iPad mini 4等大奖,学习换装两不误!欢迎报名参与~&&
兼容Jenkins标准,可提供快速可靠的持续集成与持续交付服务。基于容器技术和阿里云基础服务...
服务底层使用经国家密码管理局检测认证的硬件密码机,通过虚拟化技术,帮助用户满足数据安全方面的...
共享带宽提供地域级带宽共享和复用功能,支持同地域下所有弹性公网IP共享带宽,进而让绑定弹性公...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效...
2017阿里千余份技术干货大盘点「阿里巴巴编码规范」认证出炉!你的代码符合规范吗,测测便知
本文转自阿里云大学,如果有兴趣学习网课的可以点击右方文字查看~~~
无规矩不成方圆,无规范不能协作。近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善,铸就了高含金量的《阿里巴巴Java开发手册》,并向业界开放。
该手册以Java开发者为中心视角,划分为编程规约、异常日志规约、MYSQL规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。根据约束力强弱和故障敏感性,规约依次分为强制、推荐、参考三大类。此套规范不仅能让代码一目了然,更有助于加强团队分工与合作、真正提升效率。
「阿里巴巴编码规范」认证
阿里云大学携手手册项目组,推出「阿里巴巴编码规范」认证,通过50道题目,来检测你的编码习惯与《阿里巴巴Java开发手册》有哪些异同之处。考试通过还将发放阿里云大学官方认证——「阿里巴巴编码规范」。学习、考试、认证一体,展示你的编码水平与风格。
学习&考试:
证书如下:
手册最新版:&(v1.2.0)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。8被浏览359分享邀请回答0添加评论分享收藏感谢收起0添加评论分享收藏感谢收起

我要回帖

更多关于 阿里代码规范 eclipse 的文章

 

随机推荐