พ่อครัว - นักชิม
การเขียนตำราอาหารที่ดีโดยไม่มีปัญหานั้นเป็นงานที่ค่อนข้างยาก แต่มีหลายวิธีที่สามารถช่วยในการระบุข้อผิดพลาดได้ การตั้งค่าสถานะใน Chef Cookbook เป็นไปได้ Foodcritic เป็นวิธีที่ดีที่สุดวิธีหนึ่งในการเก็บถาวรซึ่งพยายามระบุปัญหาที่อาจเกิดขึ้นกับตรรกะและรูปแบบของตำราอาหาร
การตั้งค่า Foodcritic
Step 1 - เพิ่มอัญมณี Foodcritic
vipin@laptop:~/chef-repo $ subl Gemfile
source 'https://rubygems.org'
gem 'foodcritic', '~>2.2.0'
Step 2 - ติดตั้งอัญมณี
vipin@laptop:~/chef-repo $ bundle install
Fetching gem metadata from https://rubygems.org/
...TRUNCATED OUTPUT...
Installing foodcritic (2.2.0)
อัญมณีแห่งอาหาร
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 กำหนดชุดของกฎและตรวจสอบตัวแทนสูตรอาหารแต่ละคน มันมาพร้อมกับกฎหลายข้อที่เกี่ยวข้องกับพื้นที่ต่างๆ: สไตล์ความเชื่อมโยงแอตทริบิวต์สตริงความน่าจะเป็นการค้นหาบริการไฟล์ข้อมูลเมตาและอื่น ๆ