使用单个语句更方便,更清晰
import java.awt.*;
Run Code Online (Sandbox Code Playgroud)
而不是导入一堆个别类
import java.awt.Panel;
import java.awt.Graphics;
import java.awt.Canvas;
...
Run Code Online (Sandbox Code Playgroud)
在import声明中使用通配符有什么问题?
Java有一些非常好的开源静态分析工具,如FindBugs,Checkstyle和PMD.这些工具易于使用,非常有用,可在多个操作系统上运行并且免费.
可以使用商业C++静态分析产品.虽然拥有这样的产品很棒,但是学生的成本太高,而且通常很难获得试用版.
另一种方法是找到可在多个平台(Windows和Unix)上运行的开源C++静态分析工具.通过使用开源工具,可以对其进行修改以满足特定需求.寻找工具并非易事.
下面是其他人发现或建议的C++静态分析工具的简短列表.
-Weffc++GNU g ++ 选项(来自答案)什么是其他任何人都知道并可以推荐的便携式开源C++静态分析工具?
一些相关链接.
PMD将报告违规行为:
ArrayList<Object> list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
违规是"避免使用像'ArrayList'这样的实现类型;而是使用接口".
以下行将更正违规行为:
List<Object> list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)
为什么要使用后者List而不是ArrayList?
Cruisecontrol和Hudson是两种流行的持续集成系统.虽然两个系统都能够很好地完成自动连续构建,但创建批处理或bash构建脚本似乎要容易得多,然后使用Windows调度程序或cron来安排构建.
是否有更好的持续集成系统可用于C++项目?或者只是使用脚本和调度程序更简单的方法?
以下是针对即将到来的C++项目提出的.
还有其他选择吗?或者上面的列表应该在C++项目中使用什么?
一些相关链接
对于即将推出的项目,计划将在Windows和Linux上编译的现有C++代码移植到MacOS(leopard).该软件是命令行应用程序,但可能会计划GUI前端.MacOS使用g ++编译器.通过使用与Linux相同的编译器,似乎不存在任何问题,但总会有.
在港口期间是否有任何建议或问题需要注意?
c++ ×4
coding-style ×2
java ×2
collections ×1
g++ ×1
import ×1
interface ×1
macos ×1
portability ×1
standards ×1
wildcard ×1