官术网_书友最值得收藏!

  • Mastering Puppet 5
  • Ryan Russell Yates Jason Southgate
  • 205字
  • 2021-07-16 17:46:08

Staying on the lookout for code smells

Be on the lookout for code smells, especially as your Puppet code base ages! The following link is a research project that describes a bunch of Puppet code smells, which is an XP (extreme programming) term meaning code issues—usually meaning either a poor design or implementation: http://www.tusharma.in/wp-content/uploads/2016/03/ConfigurationSmells_preprint.pdf

Let's quickly run through using the Puppeteer Python-based tool used in the preceding research project:

  1. Ensure you have the latest Java SDK installed.
  2. Move to your workspace directory ~/workspace, and clone the following Git repository:
$ git clone https://github.com/tushartushar/Puppeteer
$ cd Puppeteer

  • Download the PMD tool (https://github.com/pmd/pmd ) and update the path in the shell script. PMD is an extensible static code analyzer with copy-paste-detector (CPD) built-in.
  • Update the folder path where all the Puppet repositories are placed.
  • Execute the cpdRunner.sh shell script to carry out clone detection using the PMD-CPD tool.
  • Update the REPO_ROOT constant in SmellDetector/Constants.py, which represents the folder path where all the Puppet repositories are placed.
  • Execute Puppeteer.py.
  • Analyze Puppet repository with puppet-lint (optional).
  • Execute puppet-lintRunner.py after setting the repository root.
  • Set the repository root in Puppet-lint_aggregator/PLConstants.py.
  • Execute PuppetLintRules.py, it will generate a consolidated summary of the analysis for all the analyzed projects.
主站蜘蛛池模板: 余姚市| 伽师县| 盈江县| 微山县| 广灵县| 鲜城| 元阳县| 青川县| 饶平县| 平潭县| 分宜县| 巴林右旗| 阿拉善右旗| 襄城县| 宣化县| 拉萨市| 甘南县| 白河县| 永安市| 赞皇县| 洛阳市| 滦平县| 乾安县| 高唐县| 横山县| 乐东| 林甸县| 盘山县| 邹城市| 洛浦县| 定襄县| 汉川市| 郴州市| 西安市| 苏尼特左旗| 渝北区| 涟水县| 鸡东县| 左云县| 荔波县| 涟源市|