Run DbVisualizerKeyMaker.jar and click Patch, choose "dbvis.jar" (C:\Program Files\DbVisualizer\lib\)
Patched "dbvis.jar" will be created in the same directory where you started the keygen. 裲py it to the program folder (C:\Program Files\DbVisualizer\lib\)
Run DbVisualizerKeyMaker.jar and enter any name/company, copy generated serial and insert to: Help -> License Key... -> License Key String.
Done.
FindBugs实践
1、 Bug级别
根据Bug可能导致的后果,FindBugs定义了若干Bug级别,主要的级别如下所示:
Bad Practice: 不好的实践
Correctness: 正确性
Experimental Internationalization:
Malicious code vulnerability: 存在漏洞的有害代码
Multithreaded correctness: 多线程正确性
Performance:性能
Security:安全
Dodgy: 欺骗性代码
2、 常见Bug以及处理办法
a) 不需要处理
May expose internal representation by incorporating reference to mutable object
描述:调用set方法,修改对象属性,被修改的对象属性是一个可变的对象;
May expose internal representation by returning reference to mutable object
描述:调用get方法,获得对象属性,获得的对象属性是一个可变的对象;
b) 建议处理
Dead store to local variable
描述:对一个局部变量赋值,但是这个局部变量可能不会被用到;
处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉;
Exception is caught when Exception is not thrown
描述:调用的方法中不会抛出异常,但是调用方法的时候尝试使用try catch 捕获异常;
处理方式:确认此方法的调用会不会导致异常的发生,如果不会抛出异常请去 掉try catch,确认方法调用会不会抛出异常关键是对方法调用参数的合法 性进行检查,排除调用这个方法时可能抛出异常的参数;
Unread field
描述:某个对象的属性不会被读取
处理方式:确认此局部变量是否会被使用,如果确实不会被用到,请去掉,和 Dead store to local variable一样处理,只是这里针对的是不是局部变量;
Call to static DateFormat
描述:调用静态的DateFormat对象
处理方式:DateFormat对象是线程不安全的,建议不要使用静态的DateFormat,但是DateFormat不会被修改的话,也可以不用修改;
Class is Serializable, but doesn't define serialVersionUID
描述:类是可序列化的,但是没有定义serialVersionUID;
处理方式:自动生成serialVersionUID;
Field only ever set to null
描述:Field一直被设置为null;
处理方式:检查相关filed的调用情况,看所有对Field的操作是否都是将Field设置为null;
Usage of GetResource may be unsafe if class is extended
描述:如果一个类被继承了,使用getResource可能会不安全
处理方式:
Unsynchronized get method, synchronized set method
描述:非同步的get方法,同步的set方法
处理方式:修改为一致的情况
Unconditional wait
描述:无条件的wait
处理方式:
Switch statement found where one case falls through to the next case
描述:switch语句中有case没有使用break;
处理方式: 增加break;
Should be a static inner class
描述:应该是静态内部类;
处理方式: 增加static修饰符使其成为静态内部类;
Private method is never called
描述:私有方法没有被调用;
处理方式:考虑将其注释掉;
_LiteIDE is a simple, open source, cross-platform Go IDE._
* Version: X34.1 (support go1.11 Go modules)
* Author: [visualfc](mailto:visualfc@gmail.com)
### Features
* Core features
* System environment management
* MIME type management
* Configurable build commands
* Support files search replace and revert
* Quick open file, symbol and commands
* Plug-in system
* Advanced code editor
* Code editor supports Golang, Markdown and Golang Present
* Rapid code navigation tools
* Syntax highlighting and color scheme
* Code completion
* Code folding
* Display save revision
* Reload file by internal diff way
* Golang support
* Support go1.11 Go modules
* Support go1.5 Go vendor
* Support go1 GOPATH
* Golang build environment management
* Compile and test using standard Golang tools and GOPATH
* Custom GOPATH support system, IDE and project
* Custom project build configuration
* Golang package browser
* Golang class view and outline
* Golang doc search and api index
* Source code navigation and information tips
* Source code find usages
* Source code refactoring and revert
* Integrated [gocode](https://github.com/visualfc/gocode) clone of [nsf/gocode](https://github.com/nsf/gocode)
* Integrated [gomodifytags](https://github.com/fatih/gomodifytags)
* Support source query tools guru
* Debug with GDB and [Delve](https://github.com/derekparker/delve)