# 5 โปรแกรม Review Code แบบอัตโนมัติบน Github
ในยุคของการพัฒนาซอฟต์แวร์ที่ทีมงานมักต้องการความรวดเร็วและมีประสิทธิภาพ หนึ่งในกระบวนการที่ควรได้รับความสนใจคือการทบทวน (review) รหัสโปรแกรม หรือ Code Review. การ Code Review แบบดั้งเดิมนั้นต้องใช้เวลาพอสมควรและต้องใช้ทรัพยากรมนุษย์อย่างมาก แต่ด้วยการใช้เครื่องมืออัตโนมัติบน Github จะช่วยลดเวลาและปรับปรุงคุณภาพของโค้ดให้ดีขึ้น เรามาดูเครื่องมือที่ช่วยในการ Review Code แบบอัตโนมัติที่มีประสิทธิภาพบน Github กันดีกว่า
GitHub Actions เป็นหนึ่งในเครื่องมืออัตโนมัติที่ทรงพลัง ช่วยให้นักพัฒนาสามารถสร้าง workflows เพื่อทำการทดสอบคุณภาพของโค้ดอย่างเข้มข้น วิธีการทำงานคือการตั้งค่าเงื่อนไขหรือเหตุการณ์ที่เมื่อมีการ push หรือ pull request โค้ดใดๆ เช่น เมื่อมีการ push โค้ดใหม่ GitHub Actions จะทำงานทันที สามารถตั้งค่าให้ทำงานร่วมกับเครื่องมืออื่นๆ เช่น linters, compilers หรือ test runners.
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run linter
run: |
npm install
npm run lint
Codecov เป็นเครื่องมือที่มาในรูปแบบของ GitHub App ซึ่งช่วยให้นักพัฒนาสามารถวิเคราะห์ความครอบคลุมของโค้ดจากการทดสอบอัตโนมัติได้ เมื่อเครื่องมือการทดสอบความครอบคลุมส่งรายงานไปยัง Codecov, มันจะทำการวิเคราะห์ข้อมูลและแสดงผลลัพธ์ให้ชัดเจนผ่าน UI ที่ใช้งานง่าย.
codecov:
requires:
- build
steps:
- checkout
- run: ./run-tests-with-coverage
- run: codecov
HoundCI จะทำการวิเคราะห์สไตล์ของโค้ด ให้เป็นไปตามมาตรฐานที่ทีมหรือโปรเจกต์ได้กำหนดไว้ ปัจจุบัน HoundCI รองรับภาษาการตั้งค่าสไตล์โค้ดหลายภาษา อาทิ Ruby, JavaScript และ SCSS. เมื่อมีการ pull request โค้ดที่ไม่เป็นไปตามมาตรฐาน HoundCI จะทำการแจ้งเตือนผ่าน comments ใน GitHub pull request.
hound:
fail_on_violations: true
rubocop:
enabled: true
config_file: .rubocop.yml
SonarCloud ช่วยให้ทีมพัฒนาสามารถตรวจจับและแก้ไขปัญหาคุณภาพโค้ดได้อย่างต่อเนื่อง รวมถึง issues เกี่ยวกับ security vulnerabilities. SonarCloud ทำงานร่วมกับ GitHub Actions หรือเครื่องมือ CI อื่นๆ ทำให้การวิเคราะห์โค้ดเป็นไปอย่างชัดเจนและถูกต้อง.
sonarcloud:
organization: "your-organization"
token:
secure: "***********" # encrypted value of your token
Code Climate นำเสนอวิธีที่เรียบง่ายและอัตโนมัติในการตรวจสอบคุณภาพโค้ด และให้ feedback เกี่ยวกับ maintainability, ปรับปรุงความปลอดภัย, และปรับปรุงประสิทธิภาพ. นอกจากนี้ยังมีฟีเจอร์สำหรับการเปรียบเทียบ pull requests เพื่อช่วยให้เห็นความแตกต่างของคุณภาพโค้ดก่อนและหลังการเปลี่ยนแปลง.
codeclimate:
plugins:
rubocop:
enabled: true
การ Review Code ในยุคปัจจุบันนั้นมีกลวิธีที่เราสามารถเข้าทางแบบอัตโนมัติ, ประหยัดเวลา และมีประสิทธิภาพสูง. เครื่องมือดังกล่าวข้างต้นที่ใช้งานบน Github เป็นต้นขั้วของการพัฒนาซอฟต์แวร์ที่ยกระดับการทำงานของทีมงานให้เข้าสู่ยุคของอัตโนมัติและประสิทธิภาพสูงสุด.
การทำความเข้าใจในการใช้เครื่องมือเหล่านี้สำหรับการทำ Code Review อัตโนมัติ เป็นทักษะสำคัญที่จะทำให้นักพัฒนาหรือผู้ที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์สามารถใช้เวลาและทรัพยากรของตนได้อย่างคุ้มค่าที่สุด
ที่ Expert-Programming-Tutor (EPT), เราเข้าใจความสำคัญของการพัฒนาโค้ดที่มีประสิทธิภาพและการปรับปรุงเทคนิคการทำงานร่วมกันในทีมผ่านการ Review Code. เรามีหลักสูตรที่อัดแน่นไปด้วยความรู้และปฏิบัติการเกี่ยวกับเครื่องมือระดับสูงเหล่านี้ เราพร้อมที่จะแบ่งปันความรู้และประสบการณ์เพื่อให้นักเรียนของเราได้นำไปใช้ในอาชีพของตน.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
Tag ที่น่าสนใจ: automated_code_review github github_actions codecov houndci sonarcloud code_climate code_quality workflow_automation linters test_runners code_analysis pull_requests ci/cd software_development
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com