❶ python如何调用checkstyle插件
你的想法存在一个误区:
pre-commit hook是在svn服务器上触发的,而svn服务器中不是直接存储源代码文本,而是以svn自己的格式来存储(版本差异增量存储等)。所以checkstyle是检查不了的。实际上,你想做的事,应该是由自动构建工具来完成(svn是版本管理,不是构建工具)。
向你推荐一款开源的自动构建工具:jenkins,这个工具很方便。
另外,你所说的checkstyle检查,其实也不需要用python,直接用shell就可以做到的。
比如:在自动构建服务器上,做一个类似这样的脚本:
#!/bin/sh
#-*-coding:utf-8-*-
#-*-file:checkstyle.sh-*-
java-jar${CHECKSTYLE_HOME}/checkstyle-6.1-all.jar
-c${SCRIPT_HOME}/checkstyle.xml
-r${PROJECT_HOME}/myproject/moles
-r${PROJECT_HOME}/myproject/resources
-fxml
-o${REPORT_DIR}/checkstyle-report.xml||echo"checkstylefind$?bugs."
其中,checkstyle-6.1-all.jar是checkstyle 6.1的jar包;checkstyle.xml是为项目配置好的checkstyle规则;myproject是要检查的工程;checkstyle-report.xml是检查结果报告(xml格式)。
如果服务器是windows环境,只需要把以上内容改成.bat或.cmd批处理脚本即可。
❷ java程序代码相似度检测软件
Sonar 在看一篇资料时http://www.darkmi.com/man/SpringSide3/,注意到的
Sonar 是一个集成了CheckStyle,PMD,Findbugs的代码校验规则 ,重复代码发现,代码测试覆盖率, 代码注释率,及所有的检测率变化追踪的完美代码质量检查工具。
我也不会用这个
❸ 谷歌编程之夏的含金量高吗
先说说含金量的问题。其实从各方面来说,这个含金量都是很高的,远远超过一份互联网公司的暑期实习。我参加过两次GSoC,也参加过两次暑期实习,这个对比还是很明显的。实习其实基本是打杂,但是在GSoC里是真正地负责一个项目,一个社区期待已久的feature。能学到的东西、以及最后的成就感是完全不一样的。
Ps. 如果所谓含金量还包括了对找工作的帮助的话,那么实际上谷歌里负责GSoC项目的Ms. Carol说过,凡是参加过GSoC的学生,随时可以找她内推去Google。我正好今年找工作,就正在等待时机使用这个重量级内推 :)
1. 报名者需要有什么样的基础才可以被选拔上?
如果你有语言偏好,那么当然最好找对口的,例如一些偏php的web项目,一些Java写的应用,一些C/C++写的游戏等。至于编程的实力,其实并没有那么高的要求,足够cover住你的工作就行。上面@罗聪翼 哥哥也提到了,我11年给Blender做国际化的时候,完全没用过这个软件,也基本不懂3D建模,但是我所要做的东西跟这些没关系,我就根本不需要知道。
所以当你看到有些来头很大的项目,例如Python,GNU,Unix,不要望而生畏,点开看一看,很有可能会发现一些idea完全在你的能力范围之内。接下来需要做的就是去和社区里的人“套磁”,让他们相信你能够胜任这个项目。
我的室友是大三暑假参加的GSoC,我大四、研一各参加了一次,去年中国貌似有一个大二的成功参加,而国外甚至不乏大一大二的成功参加。所以我觉得计算机大三,或者基本达到这一水平,付出一点心思,付出一点劳动,就完全可以成功参加。
2. 想取得好的成绩难度有多大?
我觉得在写proposal的时候就应该考虑到工作量有多大,基本按照3个月的全职实习工作量(每周5天,每天6小时)来考虑是比较合适的。在这个时间内,尽量把该有的feature做完,代码稳定,文档充分,最终能顺利进入主代码库,应该就算是很不错的成绩了。
如果是一个较大的项目,你可以拆成几大块,在GSoC时间范围内完成其中一块。后续再接着做其他的,毕竟GSoC本身的意义就是为开源软件找到更多志愿者。也可以在第二年的GSoC再继续完成,这相当于做了个大蛋糕慢慢吃。
也有很多项目没有做得尽善尽美,例如不稳定,BUG多,缺文档,其实mentor也都会给pass。我2012年做的项目其实就是在别人2011年的项目上继续做,重构一下,修修bug,增强点功能,写些wiki,最终使它并入主代码库。工作难度不大,又比较有意义——要不然2011年的工作就白白浪费了。
所以说,多付出一点,总会取得好成绩的。比如你每天干8个小时,或者每周干6天,结果肯定完全不一样——前提是你干的时候要感到快乐,这是GSoC和实习的区别之一。
3. 有什么好的经验可以分享。
貌似上面说得挺多了……
大概还需要补充一点——多说话。多跟社区的人、自己的mentor,甚至跟你自己的项目不相干的人交流,甚至去帮助别的GSoC学生。积极交流和反馈至少可以将你的申请成功率提高一倍。
❹ Java Eclipse来开发地图,用什么插件
1. Log4E
Log4E支持Java项目使用日志,不依赖于任何Log框架,可以通过配置支持各种日志框架,例如Log4J、JDK 1.4日志记录和SLF4J。Log4E高级版本提供了扩展功能,如可编辑模板、在常用日志框架中使用Jakarta字符串生成器,预览向导,首选范围等。总体来说,Log4E是一款实用且受欢迎的插件。
2. Mylyn
Mylyn可以将任务管理和上下文管理无缝集成到Eclipse中,是一款强大的任务和应用程序生命周期管理(ALM)框架。Mylyn基于Eclipse,提供以任务为重点的界面、工具和API,帮助开发人员执行多任务,避免信息过载。另外,Mylyn还集成了很多有用的工具,如Jira,Bugzilla和Trac,这些工具可以提供任务管理和离线编辑功能
3 Spring IDE
Spring IDE是一个Eclipse插件套件,主要用于开发基于Spring的应用,支持Spring AOP(面向方面的编程),Spring Web Flow和Spring JavaConfig。除此之外,开发人员还可以使用向导、文本和图形编辑器来创建Spring配置文件和新的Spring项目。
4. FindBugs
FindBugs是一个免费的开源软件应用程序,主要作用是帮助开发人员发现Java代码中的错误,它能够分析Java1.0到1.8所有版本编译的代码。FindBugs可以作为流行IDE的可用插件,如Eclipse,Netbeans和IntelliJ等。另外,它还为开发人员提供云存储功能,帮助他们查找和共享某些问题的评估信息。
5. Eclipse Checkstyle
Checkstyle是一种广泛使用的Java源代码检查工具,它能够自动化检查Java代码是否符合规范。Eclipse Checkstyle集成了多个Eclipse工作区插件的Checkstyle代码分析器,允许开发人员配置自定义编码标准和规则,一旦出现任何违反标准和规则的代码就会及时反馈和警告,发现的违例或偏差可作为代码编辑器注释、Eclipse问题视图和Checkstyle违例视图。
6. Eclim
Eclim是一款用于将Eclipse IDE的代码编辑功能与Vim(一种支持多种编程语言的流行文本编辑器)集成的插件。通过这一插件Java开发人员可以访问几个重要功能,如代码完成提示、代码验证、Java文档和源代码搜索,支持Checkstyle和正则表达式测试。程序员还可以利用Eclim编辑HTML,Python,Ruby,JavaScript等代码。此外,第三方Eclim客户端还支持其他文本编辑器,例如Sublime Text 2,TextMate和Emacs。
7. Apache IvyDE
Apache IvyDE是一个用于将Eclipse Ivy(一个依赖项管理器)与Eclipse IDE集成的插件。 Apache Ivy是Apache Ant的一个子项目,是一个基于Java的软件工具,用于自动化构建过程。 Apache IvyDE提供了强大的功能,如Java依赖关系管理,支持传递依赖,Ivy XML文件编辑器,托管类路径容器和反向依赖关系浏览器。
8. EGit
Git是一款流行的免费开源分布式版本控制软件,EGit集成了Eclipse Team Framework与GIT,它能够保存用户创建的任何新提交的更新,并且实现了对于代码每次修改的整个历史的跟踪。 EGit项目是在“The JGit Project”(GIT的Java实现)之上实现Eclipse工具。
9. P4Eclipse
P4Eclipse是一个强大的解决方案,用于集成Eclipse IDE与Perforce Helix版本控制引擎。 P4Eclipse是Eclipse IDE的Helix插件,它为Eclipse提供基本的Helix操作,支持Eclipse Team Framework中的敏捷和传统开发工作流程, P4Eclipse为Eclipse IDE用户提供了一些有用的功能,如代码审查,协作,调试,复杂重构等等。
10. Hibernate Tools
Hibernate Tools是一套用于Eclipse IDE的插件,允许Java开发人员利用Hibernate3的强大功能。Hibernate是一个用于Java平台的对象关系映射工具,它是JBoss Tools的重要组成部分。Hibernate工具为Eclipse IDE提供了一系列的功能,如映射编辑器,Hibernate控制台,统一Ant任务和数据库逆向工程。