コードレビュー
![]() | こ の ký sự にはSố nhiều の vấn đề があります.Cải thiệnやノートページで の nghị luận にご hiệp lực ください.
|
コードレビュー(Anh:code review) は,ソフトウェア khai phát công trìnhで gặp qua ごされた lầm りを kiểm ra ・ tu chỉnh することを mục đích としてソースコードの hệ thống な kiểm tra (Tra đọc) を hành う tác nghiệp の こと.
Điểm chính
[Biên tập]Thư き hạ ろされたばかり の ソースコードや thập phần なテストがされていないコードは, tiềm tàng にバグやセキュリティホール[Chú 釈 1]など の không thấu đáo hợp や vấn đề が nhập り込んでいることが nhiều い. また, trực tiếp な không thấu đáo hợp はなくとも, mệnh danh quy tắc に従っていなかったり, モジュール phân cách の ような cấu tạo thiết kế が không khoẻ thiết だったりと, nhưng đọc tính やメンテナンス tính に vấn đề があることもある. Nhất thích hóa されていないコードは, メモリやプロセッサ thời gian といったリソース (Tính toán tài nguyên) を vô đà に tiêu phí して tính năng thấp hèn を chiêu くような vấn đề を ôm えていることもある.ソフトウェア phẩm chấtを cao めるためにはこ の ような không thấu đáo hợp や vấn đề を trừ bỏ していく tất yếu がある. Tiềm んでいる không thấu đáo hợp や vấn đề の số は giống nhau に, ソースコードを ghi lại した khai phát giả (プログラマ) の thiết kế スキルや thật trang スキルにも tả hữu されるが, これらを phát thấy し tu chỉnh するため の phương pháp の ひとつが, bản nhân または người khác によりソースコード の tra đọc を hành うこと, すなわちコードレビューである[1].
オンライン の ソフトウェアリポジトリ( nặc danh のCVSなど ) を sử うと, số nhiều の cá nhân が cộng đồng でコードレビューを hành うことができる.バージョン quản lý システム( VCS ) およびホスティングサービスを lợi dụng したソフトウェア khai phát では, コード tu chỉnh を hàm む phân kỳ trước ブランチ の プルリクエスト ( pull request ) を đưa ra する tế にレビューを chịu けて, レビューを thông qua したコード の みが phân kỳ nguyên ブランチにマージされるようにすることで, tu chỉnh により đừng の không thấu đáo hợp が lẫn vào するリスクを thấp giảm させることができる.
コードレビューを tự động hoá するソフトウェアを sử うと,ソフトウェア khai phát giảの đại わりに điển hình なセキュリティホールを thấy つける tác nghiệp を hành ってくれる. そ の ようなソフトウェア の lệ として, Flawfinder[2]や Rough Auditing Tool for Security (RATS)[3]などがある.GitHubと liền huề するSiderの ような tự động hoá サービスもある.
Hiệu quả
[Biên tập]コードレビューを thật thi することにより dưới の ような hiệu quả が chờ mong できる.
- レビューで phát thấy された cùng dạng または cùng loại の バグについて, レビュー tham gia giả nội で の chung nhận thức を đồ ることができる.
- バグ の ẩn tế を giảm bớt させることが chờ mong できる.
- レビューを hành うことへ の ý thức により, người に thấy せるコードを thư くようになるため nhưng đọc tính が hướng về phía trước する.
- コーディング quy ước chờ に đối する từng người の nhận thức の ずれを tu chỉnh することができる.
ただし, そ の tính chất から khai phát công trình thượng の vấn đề điểm も nhiều く, phê phán もある (# phê phánの hạng mục を tham chiếu ).
Lệ
[Biên tập]コードレビューがプロジェクト の chất を hướng về phía trước させた lệ として, thứ の ようなケースがある.[Muốn xuất xứ]
- Blender-3 thứ nguyên コンピュータグラフィックスデザイン dùng の thống hợp ソフトウェアであり,オープンソースKhai phát コミュニティが hướng về phía trước させた.
- Linuxカーネル- lúc trướcリーナス・トーバルズの thú vị なプロジェクトだったが, hiện tại では thế giới の đa số の プログラマがレビューや cải tiến に quan わっている.
Phê phán
[Biên tập]コードレビューよりもコーディングにあたって の quy tắc や phương pháp luận を chỉnh đốn và sắp đặt すること の ほうが quan trọng であると の vuông もある.エクストリーム・プログラミング(XP) という kỹ xảo では,ペアプログラミングというプラクティスを đẩy thưởng しており, コーディング の nhất trung に đồng thời にコードレビューを hành うようになっている. XP の thờ phụng giả は,リファクタリングやコード の trước にテストを thư くといったXP の プラクティスによってレビュー/ thư き thẳng しが không cần なコードを tác thành することでソフトウェア khai phátがスピードアップすると chủ trương する.
DOD-STD-2167A[4]では, コードレビューは “労 nhiều く ích thiếu なし” としている. Lausen と Younessi ( IEEE Software, July/Aug 1998, pg 69-73 ) では, hành 単 vị の コードレビューはほとんど価 trị がないと kết luận phó けている. Vấn đề điểm を trừ bỏ するという ý vị では, プログラマに hành 単 vị の コードレビューをさせることは, hắn の thủ pháp よりも sinh sản tính が thấp い.
コードレビューにより thời gian nhất định câu thúc されるため, đảm đương tác nghiệp の trì duyên が phát sinh する khả năng tính があると の phê phán もある.
レビュー の độ chặt chẽ や viên độ は thuộc người なスキルにも sống nhờ vào nhau する. また, レビュー の chỉ trích hạng mục や nội dung を tổ chức nội で cùng sở hữu できなければ, cùng じ chỉ trích が tương tay を変えて gì độ も sào り phản されるおそれがある. Trước đó にレビュー の mục đích や tới điểm を minh xác にして, khai phát メンバー の gian で cùng sở hữu することも tất yếu である[5].
コンパイラから の cảnh cáo やTĩnh コード phân tíchの kết quả は, tiềm tàng な vấn đề điểm を chỉ trích していることも nhiều い. Cảnh cáo の レベルを thượng げ, これらを làm lơ せずにコードを chính しく tu chỉnh していけば, thuộc người で thời gian の かかるコードレビューに lại らずとも, vấn đề điểm の いくつかは giải tiêu できることがある[6].
Chú thích
[Biên tập]Chú 釈
[Biên tập]- ^Lệ えばメモリリーク,バッファオーバーラン( バッファオーバーフロー ), アクセス trái với (セグメンテーション trái với),Cạnh hợp trạng tháiなど の minh らかに dị thường động tác を dẫn き khởi こすようなも の や,Thư thức văn tự liệt vấn đề,ディレクトリトラバーサルなど の ユーザー nhập lực に sống nhờ vào nhau した tiềm tàng な vấn đề を ôm えているも の もある. バッファオーバーフローやSố học オーバーフローはセキュリティ yếu ớt tính にもなりえる.
Xuất xứ
[Biên tập]- ^IPA ISEC セキュア・プログラミング toạ đàm: C/C++ ngôn ngữ biên chương 2 yếu ớt tính lảng tránh sách とソフトウェア khai phát công trình: ソースコードレビュー,Internet Archive
- ^Flawfinder Home Page
- ^Rough Auditing Tool for Security[リンク thiết れ]
- ^DOD-STD-2167A[リンク thiết れ]
- ^コードレビューを thành công させるためにCTOが khảo えるべき7つ の ことー giam tu: Cao xa cùng cũng ( kabushiki gaisha LIG CTO ) | FLEXY ( フレキシー )
- ^アプリケーション khai phát で chất の cao いコードレビューを thật hiện するため の ポイントとは? ~ sau biên ~ - builders.flash☆ - 変 hóa を cầu めるデベロッパーを ứng viện するウェブマガジン | AWS
Quan liền hạng mục
[Biên tập]Phần ngoài リンク
[Biên tập]![]() |