요리사-Foodcritic

아무 문제없이 좋은 요리 책을 쓰는 것은 꽤 어려운 일입니다. 그러나 함정을 식별하는 데 도움이 될 수있는 방법이 있습니다. Chef Cookbook에서 플래그를 지정할 수 있습니다. Foodcritic은 요리 책의 논리 및 스타일과 관련하여 가능한 문제를 식별하는 가장 좋은 보관 방법 중 하나입니다.

Foodcritic 설정

Step 1 − Foodcritic 보석을 추가합니다.

vipin@laptop:~/chef-repo $ subl Gemfile 
source 'https://rubygems.org' 
gem 'foodcritic', '~>2.2.0'

Step 2 − gem을 설치합니다.

vipin@laptop:~/chef-repo $ bundle install 
Fetching gem metadata from https://rubygems.org/ 
...TRUNCATED OUTPUT... 
Installing foodcritic (2.2.0)

Foodcritic 보석

Step 1 − 요리 책에서 Foodcritic을 실행합니다.

vipin@laptop:~/chef-repo $ foodcritic ./cookbooks/<Cookbook Name> 
FC002: Avoid string interpolation where not required: ./cookbooks/ 
mysql/attributes/server.rb:220 
...TRUNCATED OUTPUT... 
FC024: Consider adding platform equivalents: ./cookbooks/<Cookbook Name>/ 
recipes/server.rb:132

Step 2 − 상세 보고서를 생성합니다.

vipin@laptop:~/chef-repo $ foodcritic -C ./cookbooks/mysql 
cookbooks/<cookbook Name>/attributes/server.rb 
FC002: Avoid string interpolation where not required 
[...] 
85| default['<Cookbook Name>']['conf_dir'] = "#{mysql['basedir']}" 
[...] 
cookbooks/<Cookbook Name>/recipes/client.rb 
FC007: Ensure recipe dependencies are reflected in cookbook 
metadata 
40| end 
41|when "mac_os_x" 
42| include_recipe 'homebrew' 
43|end 
44|

작업 방법

Foodcritic은 일련의 규칙을 정의하고 각각의 레시피 에이전트를 확인합니다. 스타일, 연결성, 속성, 문자열, 확률, 검색, 서비스, 파일, 메타 데이터 등 다양한 영역과 관련된 여러 규칙이 함께 제공됩니다.