一.前言 如果要给 Java 所有异常弄个榜单,我会选择将 NullPointerException 放在榜首.这个异常潜伏在代码中,就像个遥控炸弹,不知道什么时候这个按钮会被突然按下(传入 null 对象). 还记得刚入行程序员的时候,三天两头碰到空指针异常引发的 Bug,解决完一个,又在另一处碰到.那时候师兄就教我,不要相信任何『对象』,特别是别人给你的,这些地方都加上判断.于是代码通常为会变成下面这样: if(obj!=null){ // do something } 有了这个防御之后,虽…
利用 ESLint 检查代码质量 其实很早的时候就想尝试 ESLint 了,但是很多次都是玩了一下就觉得这东西巨复杂,一执行检查就是满屏的error,简直是不堪入目,遂放弃.直到某天终于下定决心深入看了文档,才发现其实挺简单的,只是当时没有看到合适入门教程而已.我相信很多人也有着跟我一样的经历,所以希望将自己的踩坑心得记录下来,让后来者更轻易地掌握 ESLint 的使用,因为它确实是个好东西. JavaScript 是一门神奇的动态语言,它在带给我们编程的灵活性的同时也悄悄埋下了一些地雷.除了基…
1. ESLint ESLint 是一个插件化的 javascript 代码检测工具,它可以用于检查常见的 JavaScript 代码错误,也可以进行代码风格检查,这样我们就可以根据自己的喜好指定一套 ESLint 配置,然后应用到所编写的项目上,从而实现辅助编码规范的执行,有效控制项目代码的质量. 第一步 通过cnpm安装 $ cnpm install -g eslint 上面是需要测试的代码. 我们输入 node mes.js 就是文件的名字.会输出{a: 123,b:456}; 接着执行e…
关闭SonarLint自动检查代码 有时敲一行代码SonarLint插件就会自动检查,让人感觉很不舒服,还会使电脑卡顿: 依次点击:File -> Settings 或直接Ctrl+Alt+S 搜索"SonarLint",在Other Settings这一栏,如下图操作: 以后敲代码SonarLint 就不会自动运行了. 手动运行SonarLint 停止SonarLint自动检测代码之后,可以使用Ctrl+Shift+S手动运行SonarLint检查代码.…
1.安装 全局安装 npm install eslint -g 局部安装 npm install eslint --save 2.初始化一个配置文件 eslint --init 执行后根据项目需要回答几个问题,最后会在根目录生成一个.eslintrc.js文件: module.exports = { "env": { "browser": true, "es6": true }, "extends": "eslint…
看完 <前端规范之Git工作流规范(Husky + Commitlint + Lint-staged) https://www.cnblogs.com/Yellow-ice/p/15349873.html>,再次修改本文 团队人一多,提交一多,还是要对备注加以区分,好快速找到变更点.这时候就需要对每次提交,需要输入message,对提交的备注进行规范化处理 代码规范落地难:归根结底在于需要工具去强行保证代码必须经过代码开发规范的扫描: 低质量代码带入线上应用:最好的方式本地进行commit的时…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#编译器怎么检查代码是否会执行.…
import logging from homework.exam_homework_0413.common import contants from homework.exam_homework_0413.common.read_config import config def get_logger(name): logger=logging.getLogger(name) logger.setLevel(config.get_strValue("log","logger_…
android 中的一些资源注解,让编译器帮你检查代码 写方便的时候可以用注解来声明一些参数,以明确的指示参数的类型,让代码更安全.我们看到,在android源代码里大量使用了注解.我整理了一些注解如下: @NonNull  告诉编译器,这个参数是非空的,编译器会帮你做出检查. 示例: @NonNull public static Snackbar make(@NonNull View view, @StringRes int resId, @Duration int duration) {  …
来看一下搬移部分和重定位部分的代码: relocate: /* 把U-BOOT重新定位到RAM*/          //r0=0; adr r0, _start /* r0是代码的当前位置*/ ldr r1, _TEXT_BASE /*测试判断是从FLASH启动,还是RAM  *///r1=TEXT_BASE = 0x33F80000 cmp     r0, r1     /*比较R0.R1,调试的时候不需要重定位. */ //如果当前的位置就是0x33F80000,既然uboot能够正常执行…
原文:http://norvig.com/spell-correct.html 翻译:http://blog.youxu.info/spell-correct.html 怎样写一个拼写检查器 Peter Norvig 翻译: Eric You XU 上个星期, 我的两个朋友 Dean 和 Bill 分别告诉我说他们对 Google 的快速高质量的拼写检查工具感到惊奇. 比如说在搜索的时候键入 [speling], 在不到 0.1 秒的时间内, Google 会返回: 你要找的是不是 [spell…
简介         FindBugs 是一个在 Java 程序中查找 bug 的程序,它可以查找可能出错的代码,注意 FindBugs 是检查 Java 字节码,也就是*.class文件.其实准确的说,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来.例如:未关闭的数据库连接,缺少必要的null check,多余的 null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",建议使用StringBuffer代替字符串连加等等…
看了些源码,效率挺垃圾的,折腾了一个垃圾得不太彻底的代码,还是慢. 不会折腾底层直接怼COM的悲伤…… 实现思路是这样的: 1.把面层的点都塞进List,去重,取坐标4位,后边的检查使用容差0.001 2.遍历点,通过点在面层寻相交的面 3.如果结果是1,那么这个面在这个点处没有毗邻面,把点缓冲区一下给定距离,如果能找到面了,那么悬挂悬挂. 如果结果>1,那么遍历所有相交面,如果面的PointCollection里有这个点,那么计数+1:如果存在PointCollection里不包含这个点的面…
原文发表于作者的个人博客:http://morning.work/page/maintainable-nodejs/getting-started-with-eslint.html 其实很早的时候就想尝试ESLint了,但是很多次都是玩了一下就觉得这东西巨复杂,一执行检查就是满屏的error,简直是不堪入目,遂放弃.直到某天终于下定决心深入看了文档,才发现其实挺简单的,只是当时没有看到合适入门教程而已.我相信很多人也有着跟我一样的经历,所以希望将自己的踩坑心得记录下来,让后来者更轻易地掌握ESL…
为什么使用PHP_CodeSniffer 一个开发团队统一的编码风格,有助于他人对代码的理解和维护,对于大项目来说尤其重要. PHP_CodeSniffer是PEAR中的一个用PHP5写的用来检查嗅探PHP代码是否有违反一组预先设置好的编码标准的一个包,它是确保你的代码简洁一致的必不可少的开发工具,甚至还可以帮助程序员减少一些语义错误. 什么是Pear 由于PHP_CodeSniffer的安装依赖PHP和Pear环境,那么我们有必要了解下什么是Pear. PEAR是PHP扩展与应用库(the P…
自定义的solr搜索系统作为web应用发布到tomcat后,运行过程中其搜索代码逻辑如下: 用户solr搜索应用发送搜索请求URL,solr应用的org.apache.solr.servlet.SolrDispatchFilter类接收到请求, SolrDispatchFilter.doFilter() -> SolrDispatchFilter.execute() -> SolrCore.execute() -> RequestHandlerBase.handleRequest() -…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 该插件主要是对今年发布的<阿里巴巴 Java 开发规约>的一个延伸,它以一个 IDE 的插件存在,可以自动对手册中的 Java 不规范的问题进行提示.现在主要支持(IDEA.Eclipse),Android Studio 是基于 IDEA 的,所以也是支持 Android 开发人员的. 该插件在扫描代码后,会将不符合规约的代码按照 Blocker/Critical/Major 三个等级显示在下方,甚至在 IDEA 上,还可以基…
1.目标 idea集成sonar的代码检查,实现可以在提交代码前就检查你的代码,而不是将代码提交之后,之后再去检查. Sonar可以从以下七个维度检测代码质量,而作为开发人员至少需要处理前5种代码质量问题 1. 不遵循代码标准 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写 2. 潜在的缺陷 sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的缺陷 3. 糟糕的复杂度分布 文件.类.方法等,如果复杂度过…
通过 "adb shell am start" 遍历安卓应用所有的 Activity,可以检查是否存在空指针的情况. 以下为梳理后的测试流程: 通过 apktool 反编译 apk(输入参数 apk 路径) 得到反编译后的 AndroidManifest.xml 文件 通过 FindActivity.py 得到 Activity_List(activity 列表) 删除 Activity_List 中含有 "loader.a.ActivityN1/loader.a.Activ…
原地址:原地址:http://www.xuanyusong.com/archives/2828 代码缺陷和代码错误的最大区别是,代码缺陷不影响游戏编译,而代码错误编译都不通过.但是代码缺陷会影响游戏发布后产生的一系列BUG..我今天无意间逛外国论坛发现的一个方法,使用了一下感觉挺给力的第一时间分享给大家. 下载下来以后,它是一个文件夹把整个文件夹拷贝在你Unity的工程里面就行了. Unity 3D Gendarme Plugin:https://bitbucket.org/kzoabi/uni…
需求分析 在jenkins中没有找到构建前插件,每次构建时间很长,希望可以实现判断代码是否更新,如果没更细则停止构建步骤. 实现步骤 在构建时执行shell命令,而jenkins提供的的环境变量可以实现此判断 https://wiki.jenkins.io/display/JENKINS/Conditional+BuildStep+Plugin GIT_COMMIT The commit hash being checked out. GIT_PREVIOUS_COMMIT The hash o…
用Python的logging模块记录日志时,遇到了重复记录日志的问题,第一条记录写一次,第二条记录写两次,第三条记录写三次...很头疼,这样记日志可不行.网上搜索到了原因与解决方案: 原因:没有移除handler 解决:在日志记录完之后removeHandler 修改前示例代码: import logging def log(message): logger = logging.getLogger('testlog') streamhandler = logging.StreamHandler…
通过composer 安装PHP_CodeSniffer : squizlabs/PHP_CodeSniffer gihub地址 composer global require "squizlabs/php_codesniffer=*" 配置phpStorm 找到phpcs.bat的路径之后valiedate 验证一下 用上一个路径可以,下面一个会报错: inspections(检查) 效果如下:…
代码缺陷和代码错误的最大区别是,代码缺陷不影响游戏编译,而代码错误编译都不通过.但是代码缺陷会影响游戏发布后产生的一系列BUG..我今天无意间逛外国论坛发现的一个方法,使用了一下感觉挺给力的第一时间分享给大家. 下载下来以后,它是一个文件夹把整个文件夹拷贝在你Unity的工程里面就行了. Unity 3D Gendarme Plugin:https://bitbucket.org/kzoabi/unity3d-gendarme-plugin/downloads 然后下载最新的mono 它是跨平台…
只介绍简单的使用, 更多使用方法请查看官方文档 tracemalloc 官方文档 tracemalloc文档地址 使用 import tracemalloc tracemalloc.start() # 运行程序 main() snapshot = tracemalloc.take_snapshot() top_stats = snapshot.statistics('lineno') # 输出前10条测试结果 print("[ Top 10 ]") for stat in top_st…
PyLint的下载地址:https://pypi.python.org/pypi/pylint PyLint的官网:http://www.pylint.org/ 从源码发行版安装,解压文件包并且运行 python setup.py install 快速安装方法 pip install pylint 错误提示说明 (C) 惯例.违反了编码风格标准 (R) 重构.写得非常糟糕的代码. (W) 警告.某些 Python 特定的问题. (E) 错误.很可能是代码中的错误. (F) 致命错误.阻止 Pyl…
public class PolygonGapChecker : CheckProgressMessageSender, IChecker, ICheckProgressChangeEvent { private IFeatureLayer featureLayer; /// <summary> /// 待检查的面要素类图层 /// </summary> public IFeatureLayer FeatureLayer { set { if (value != null) { i…
1.配电gis线路导出数据: select r.name 线路名称,r.run_status 运行状态,r.voltage_level 电压等级,r.manager_depart 管理部门,r.belong_substation 所属厂站 from ods_sc.T_D2_PD_FEEDER r where r.gsdm='040100' and r.run_status <>'退运' and r.voltage_level='10kV'and r.manager_depart not in …
1 打开终端  cd 进去当前项目 2 总行数查看命令     find . -name "*.m" -or -name "*.h" | xargs wc -l        "*.m"是你想查看的文件名    同理".swift"代表swift文件 3 总行数除去空行查看命令  find . -name "*.m" -or -name "*.h" | xargs grep -v &qu…
服务端部署:PHP_CodeSniffer HG 服务端部署篇 1.下载PHP_CodeSniffer 前往 https://github.com/squizlabs/PHP_CodeSniffer 下载最新版本包,解压到你想放置的目录. 2.以这个文件[ PHP_CodeSniffer/blob/master/scripts/phpcs.bat ]为检测入口,配置IDE. 3.命令行检测: /usr/bin/php /home/hg/php_codesniffer/scripts/phpcs…