FindBugs是一个静态分析工具,它检查类或者 JAR文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析 第一 手动安装 在Eclipse点击菜单中Help-->菜单 第二:输入地址: http://findbugs.cs.umd.edu/eclipse,出现版本列表: 按照一步步提示安装重启即可 =================================================== 2) (Re-)star…
VS Code项目中共享自定义的代码片段方案 一.问题背景 项目中注释风格不统一,如何统一注释风格 一些第三方组件库名称太长,每次使用都需要找文档,然后复制粘贴 部分组件库有自己的Snippets插件 一些组件能记住名称,但太长了手敲全称有点费时间 某些组件还有不少常用的参数,有不有办法在敲出组件的时候,加上一些参数 二.解法 稍加总结就不难看出,这些问题都能通过一些代码片段去解决 问题又来了:如何在项目中共享自定义的代码片段? 编辑器以VS Code为例,引入自定义代码片段的方案有如下几种:…
Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南 因为平时都是使用 VSCode ESLint + Prettier 检测格式化不规范代码,但是随着接手的项目越来越多,需要统一每个项目的代码规范,于是在此分享vue项目的几种代码格式化风格(default,standard,airbnb,prettier)的基本区别以及修改为prettier风格. 对比肉眼可见的格式化风格差异,并且以字符串单/双引号,每行结尾有无分号,object对象最后一项有无尾逗号作为判断依…
提高代码质量-工具篇 注:这是一篇翻译文章,原文:How to improve quality and syntax of your Android code,为了理解连贯,翻译过程中我修改了一些陈述逻辑和顺序,同时也加了一些自己的补充. 在这片文章中,我将从工具使用的角度上讲述如何提高 Android 代码质量,这些自动化工具包括 Checksytle.Findbugs.PMD 和 Android Lint. 团队中代码意识不一致,水平参差不齐,代码风格迥异,定下的规范也是熟视无睹.这时候就需…
前言 JavaScript语言由于其固有的灵活性,所以导致开发者可以写出很多诡异的代码,甚至一些较为正常的特性,如类型隐式转换.this的指代等等,也会让刚接触此语言的开发者头大不已.尤其是那些熟知其他诸如Java和C#等高级语言的开发者.使用更严格的编码方式,可以最大量避免 启用严格模式 随着JavaScript的发展,开发者及规范制定者也意识到了JavaScript语言本身的一些设计缺陷,所以在ECMAScript5中引入了严格模式.设立严格模式的目的主要是为了消除JavaScript语法上…
总结项目用到的一些处理方法,用来解决数据处理的一些实际问题,所有方法都可以放在一个公共工具方法里面,实现不限ES5,ES6还有些Vue处理的方法. 都是项目中来的,有代码跟图片展示,长期更新. 1.获取两个给定日期之间所有日期集合 /** * 传入一个日期字符串(不要时间,如果带时间的话在修改方法) **datestr:形如‘2017-06-12’的字符串(如果是2017.06.12格式在修改代码,这里没有做通用) **return Date 对象 **/ getDate (datestr) {…
平时做项目,代码中是不允许出现硬代码的,一般我们是怎么处理的呢? 那么硬代码又是什么呢? 我们俗称的硬代码:eg:   label.text = "欢迎来到梦幻岛";  这样我们俗称为硬代码. 好了,那么该如何避免,话不多说,直接上图: 这是一种处理方式,TXT 格式的文档,前面是ID,后面是描述性文字. 可是我们该如何在项目中访问这个txt文件里面的数据呢? 话不多说,直接上代码: using UnityEngine; using System.Collections; public…
Standford Moss 系统是斯坦福大学大名鼎鼎的代码查重系统,它可以查出哪些同学提交的代码是抄袭别人的,从而将提交结果拒之门外.它对一切希望使用该系统的人都是开放的,那么在PHP的项目中如何使用它呢? 下载Moss的PHP文件moss.php 您可以访问https://github.com/Phhere/MOSS-PHP 来下载moss.php,并将它放在您的第三方扩展库中 使用moss.php 通过下面的范例代码您就可以简单的做个moss小测试了 <?phpinclude("mo…
编写一下Android界面的项目 使用默认的Android清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima28.writedata" android:versionCode="1&qu…
1. 摘要 这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣. 在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题. 最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论.改进.完善自己的代码.虽然刚毕业的同 学对于代码质量都很用心,但最终呈现出来的质量仍然没能达到“十分优秀”的程度. 究其原因,主要是不了解好的代码“应该”是什么样的.…
1) Pylint安装 - Windows下: 直接在 cmd 下使用 pip install pylint 即可(如果 pip 不可用,首先安装最新版 Python,会默认安装 pip,或者找到 pip 的安装脚本先装 pip).装好后,pylint.exe 的大体位置在 C:/Python27/Scripts/ 底下,将此路径添加到环境变量 PATH. - Linux 下: 直接在 Terminal 中使用 $ sudo pip install pylint 安装即可.装好后,pylint…
本文将介绍Flow及其主特性.下面分别从如何安装设置,如何添加类型注释,如何在运行时自动去掉注释等方面来介绍. 安装 目前Flow兼容的操作系统有Mac OS X,Linux(64位),Windows(64位).最简单的安装方式是通过 npm: npm install --save-dev flow-bin 然后在package.json文件中的scripts 项添加: "scripts": {  "flow": "flow"} 完成之后,就可以…
如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题.在 让开发自动化 的本期文章中,自动化专家 Paul Duvall 将带来一些关于 Eclipse 插件的例子,您可以安装.配置和使用这些静态分析插件,以便在开发生命周期的早期预防问题. 关于本系列 作为一名开发人员,我们的工作就是为终端用户将过程自动化:然而,我们当中有很多人却忽视了将我们自己的开发过程自动化…
首先,为什么需要SonarQube? 1.WriteClean Code 1)全局健康报告  2)关注新增的问题  3)强制QualityGate 4)Issue详情及建议- 详情参考:https://www.sonarqube.org/features/clean-code/ 2.DevOps Integration 1)支持多种BuildSystem集成: Maven,Gradle,Ant- 2)支持多种CIEngines: Bamboo,Jenkins- 3)成功.失败通知- 详情参考:h…
在写使用Java时,难免会有一些模板代码要写,不然get/set,toString, hashCode, close 资源,定义构造函数等等.代码会显得很冗余,很长.Lombok项目可以是我们摆脱这些东西,通过一系列的注解,Lombok可以帮我们自动生成这些函数. Lombok 官网地址:https://projectlombok.org/ 参考文档:https://projectlombok.org/features/index.html 1. 安装 到官网下载 lombok.jar,直接双击…
在使用Maven构建SSM项目时,使用mybatis-generator插件自动生成代码 一.目录结构 bean:用来存放生成的实体类 dao:用来存放生成的 *mapper.java文件 mapper:用来存放生成的 *mapper.xml文件 二. generatorConfig.xml文件,配置相关信息 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguratio…
POST>> submitHandler:function(form){ var username = $('#user_name').val(); var password = $('#password').val(); username = $.trim(username); password = $.trim(password); var ajaxOption = {}; ajaxOption.url = 'index.php?app=member&act=ajax_check_…
前言: if,相信是童鞋们使用的最频繁的关键字了,而且很多时候,我们使用的if都是在无意识的状态下随手而为.键入if,两下回车(我使用了resharper,可以自动编排if的格式),再信手写下我们需要的逻辑,一段可以“正常运行”的代码就被我们实现了.尽管这段逻辑比较复杂,但在那个时间段,我们对这段业务的前后流程已经有了很长时间的思考,所以可以比较轻松的写出来.但问题来了,一段时间之后,我们发现这里需要修正下,更或者是为了提高鲁棒性,需要为某个变量考虑更多的情况——即进一步添加更多的if.然后,看…
很多IT公司对于软件开发都有严格的分工,这包括设计.测试.服务支持等等.但是,我一直都认为只有开发者才是真正对软件质量负责的人.没有好的软件设计,软件质量基本上是无从谈起.当然,要做到这一点是需要额外的一些工具来进行保证的.因为这一段时间都是在linux上开发的,所以下面涉及到的工具基本上都是基于linux平台的.假设测试的文件名为test.c. (1)测试代码覆盖率 gcc -fprofile-arcs -ftest-coverage -o test test.c   ./test   gco…
!!! 1.估算和做项目计划时要算上单元测试时间 2.开发之前写单元测试代码 盖房子的时候,工人师傅砌墙,会先用桩子拉上线,以使砖能够垒的笔直,因为垒砖的时候都是以这根线为基准的.TDD就像这样,先写测试代码,就像工人师傅先用桩子拉上线,然后编码的时候以此为基准,只编写符合这个测试的功能代码. 而一个新手或菜鸟级的小师傅,却可能不知道拉线,而是直接把砖往上垒,垒了一些之后再看是否笔直,这时候可能会用一根线,量一下砌好的墙是否笔直,如果不直再进行校正,敲敲打打.使用传统的软件开发过程就像这样,我们…
VS Code项目中通过npm包的方式共享代码片段的方案实现 上周在 "VS Code项目中共享自定义的代码片段方案" 的文章中提到过一个共享代码片段的方案,上周经过调研后并没有发现现成的插件,就抽了点空实现了这个方案,最终产出Share Snippets 这个插件去实现这个设想 Share Snippets介绍 借助Share Snippets,你可以通过npm包的形式分享你的代码片段,让其它的开发者能够轻松愉快的体验上,更新迭代方便 方案对比 项目级共享代码片段 方案 学习成本 传…
有的童鞋,想eclipse和myeclipse整个项目中查找指定代码,由于补经常使用,可能会补熟悉.如果要去掉项目中所有的某个代码的话,找不到是灰常麻烦的,下面就简单说下怎么查找,希望对需要的人有用. 1.这里以eclipse为例,myeclipse同理,顶部工具点击search-search 2.在搜索界面,选择filesearch,然后图中对应的位置输入要搜索的内容,点击下方搜索按钮 3.特别提醒,这里不是选java search ,很多童鞋可能就是看到java,又想到自己的代码是在java…
项目中,因为使用了第三方支付(支付宝和微信支付),支付完毕后,第三方支付平台一般会采用异步回调通知的方式,通知商户支付结果,然后商户根据通知内容,变更商户项目支付订单的状态.一般来说,为了防止商户项目自身因为一些特殊原因,比如正好当时网络状态不稳定,商户回调接口无法访问,或者商户回调接口出现异常.第三方支付平台,一般会发送多次请求来尽量确保通知到商户系统. 但是,总会有各种各样的情况,导致,第三方平台所有的通知次数通知完毕后,商户系统依然没有正确处理掉改笔订单状态.(一般第三方支付平台,会:1分…
转   <context-param>的作用:web.xml的配置中<context-param>配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器…
移动开发中,native开发性能和效果上无疑是最好的. 但是在众多的情况下,native开发并不是最优的选择.当需求经常改动的时候,当预算有限的时候,当deadline很近的时候,native开发的成本也就体现出来了. 这时候,webview开始大放异彩,快速开发.无需重新发布版本.人员成本低的特点就显现出来了.(这里不指hybrid). 当使用WebView后,就会逐渐发现,用户体验变得一塌糊涂,长时间的loading.操作dom造成的性能问题等等等等··· react native出现后,开…
从别人做的项目中抽取出的代码:…
最近在项目中使用Git进行代码管理,之前一直用SVN进行管理,现在谈一谈Git在项目中如何与EGit插件配合使用,高效同步开发. 使用过SVN一段时间的人,初识Git一定感觉很别扭,发现会遇到各种各样的问题,感觉没有SVN方便,究其原因是还没有领略到Git之美,没有熟练使用Git. 因为我在刚开始的时候就有这样的感觉,当深入研究Git一段时间之后才深深的被Git的魅力吸引,慨叹Linux大师深刻而又灵动的思想,顶礼膜拜. 闲话不多说,现在开始谈一谈Git菜鸟如何快速使用Git+EGit进行项目开…
之前就听同事说过依赖注入(dependency injection).控制反转(Inversion of Control).起初听的是一头雾水,试着在项目中运用了几次,总算明白了一些,抛砖引玉,与大家分享一下拙见. 其实依赖注入和控制反转指的都是同一个事情.什么是依赖注入了??? [个人理解] 以最熟悉的三层架构的项目来说,BLL层依赖DAL层,UI层依赖于BLL层,层层之间紧密联系.代码里到处都是new 对象.认识IOC后,发现IOC最大的好处就是解耦了对这种层级之间的依赖关系进.程序本身不在…
业务需求: 现在业务人员提出了一个需求: 在项目中的工作流,都要有一个流程编号,此编号有一定的规则: 前四五位是流程的字母缩写,中间是8位的日期,后面五位是流水码,要求流水码每天从00001开始.即:QJLC2018060800001 没有想到更好的方式,暂时考虑到了使用oracle的定时器来每天定时的将流水码重置为1. Oracle数据库表和定时器的创建: 创建任务编码表: /*==========================================================…
在做web项目中,写js代码时候,会有一堆的debugger;,当时又懒得删,后面就多起来了,在vs的编辑器里面,其查找替换功能支持正则和整个项目/解决方案替换,这样就很容易删掉debugger;,方法如下: 按下快捷键 Ctrl+F,然后在搜索框输入debugger;\s,开启正则匹配功能,替换栏空着,然后选择替换当前项目(按自己需要,有多种选择),然后点击替换即可. 如果其他IDE也支持正则和多文件替换,也可以这样使用,比如Hbulider.…