วิธีการรับรองมาตรฐานการเข้ารหัสเดียวใน. NET ด้วยการสนับสนุนเครื่องมือ


14

อาจเป็นสถานการณ์พื้นฐานที่ทุกคนคุ้นเคย คุณได้เห็นด้วยกับมาตรฐานการเข้ารหัสในทีมของคุณและตอนนี้ถึงเวลาที่ต้องทำให้แน่ใจว่าทุกคนติดตามพวกเขา

บางคนทำผ่านการเขียนโปรแกรมคู่หนักอื่น ๆ รักษารายการมาตรฐานการเข้ารหัสและทำการตรวจสอบด้วยตนเอง คนอื่น ๆ ยังใช้เครื่องมือวิเคราะห์รหัสคงที่จาก Visual Studio เพื่อให้แน่ใจว่ามีการบังคับใช้มาตรฐานการเข้ารหัส

อะไรคือวิธีปฏิบัติที่ดีที่สุดของคุณเพื่อรับรองมาตรฐานการเข้ารหัส? คุณใช้เครื่องมือใด - มีเครื่องมือสำคัญบ้างที่ dev ทุกคนควรรู้ คุณจะรวมมาตรฐานรหัสของคุณในเครื่องมือพัฒนาของคุณได้อย่างไร

คำตอบ:


15

StyleCop (ตอนนี้ยังเป็น StyleCop สำหรับ Resharper) เป็นที่นิยมใช้ในการบังคับใช้กฎสไตล์การเข้ารหัสภายในรหัสฐาน C #

สามารถรวมเข้ากับการสร้าง CI ของคุณและทำให้เกิดความล้มเหลวในการสร้างหากมีการละเมิดใด ๆ


มีข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้งานหรือไม่ ฉันต้องการเรียกใช้การตรวจสอบสไตล์ก่อนส่งมอบ ดังนั้นฉันต้องการ cli สำหรับมัน มีผู้ใด. ฉันหาข้อมูลที่เกี่ยวข้องไม่พบ
FreeLightman

1
สิ่งนี้อาจช่วยblog.submain.com/stylecop-detailed-guide
z-boss

@R - หากมีเพียงหนึ่งเดียวเท่านั้นที่สามารถปรับแต่งกฎ StyleCop โอ้รอ ...
Oded

@R - คุณยังสามารถเขียนกฎของคุณเอง
Oded

FWIW จาก readme on github: "ในขณะที่คำขอดึงจะยังคงได้รับการยอมรับก็ไม่น่าที่การพัฒนาที่สำคัญใด ๆ ที่จะทำในโครงการนี้มันเป็นเรื่องยากมากขึ้นและไม่มีประสิทธิภาพในการรักษา C # parser กำหนดเองที่ใช้โดย StyleCop"
สนิม

6

ขั้นแรกตรวจสอบให้แน่ใจว่าคุณมีเซิร์ฟเวอร์สำหรับสร้างที่เหมาะสมซึ่งสร้างรหัสของคุณอย่างต่อเนื่อง TFS หรือ Jenkins / Hudson + Msbuild เป็นตัวเลือกที่ดี บนเซิร์ฟเวอร์บิลด์นี้คุณต้องทำการทดสอบและคุณยังสามารถรันการวิเคราะห์โค้ดแบบสแตติกเช่นเดียวกับตัวตรวจสอบไวยากรณ์

ฉันแนะนำให้ใช้FxCopหรือGendarmeสำหรับการวิเคราะห์รหัสคงที่ ทั้งสองสามารถใช้งานเคียงข้างกัน

กุญแจสำคัญอย่างหนึ่งสู่ความสำเร็จ: อย่าปรับใช้กับชุดกฎขนาดใหญ่และคาดหวังให้ทำงานได้ดี คุณจะมีคำเตือนนับล้านและไม่มีใครสนใจ

กฎของหัวแม่มือคือ:

  • มีคำเตือนเป็นศูนย์เสมอ ลดชุดของการตรวจสอบเริ่มแรกถ้าคุณต้องแล้วเพิ่มการตรวจสอบใหม่บางส่วนทุก sprint และแก้ไขเหล่านั้น ตรวจสอบให้แน่ใจว่าทุกการตรวจสอบดำเนินการมีค่าจริงกับคุณและสอดคล้องกับมาตรฐานของคุณ

  • หากคุณมีกฎเฉพาะโดเมนที่คุณต้องปฏิบัติตามอย่ากลัวที่จะใช้กฎของคุณเอง

สำหรับการตรวจสอบไวยากรณ์ให้ใช้ StyleCop หรือ StyleCop สำหรับ Resharper ถ้าคุณใช้ Resharper (ซึ่งฉันขอแนะนำเช่นกัน)


2

StyleCop และFxCopเป็นเครื่องมือที่มีน้ำหนักเบาของฉันที่เตือนสไตล์โค้ดให้กับนักพัฒนาของฉัน Resharper ก็ดีเช่นกัน แต่มันทำให้ VS ช้ามาก

ฉันแนะนำFxCopเนื่องจาก 'ไลบรารีกฎสมบูรณ์ที่มีเอกสารที่ดีการจำแนกประเภทตัวอย่างและคุณสมบัติอื่น ๆ มากมาย

นอกจากนี้ยังมีโปรแกรมเสริมStyleCop Fixerสำหรับ visual studio ที่มีอยู่ช่วยในการแก้ไขข้อผิดพลาดทั่วไป

เมตริกรหัสบางครั้งก็รับผลกระทบจากรูปแบบรหัส คุณสามารถตรวจสอบรหัสการบำรุงรักษาด้วยเครื่องมือนี้


2

ฉันต้องการเน้นที่การวิเคราะห์โค้ดอัตโนมัติที่ได้กล่าวถึงแล้ว (FxCop, StyleCopy, CI สร้าง ฯลฯ ) ทำงานได้ก่อนตามความคิดเห็นของผู้ใช้ การตรวจสอบอัตโนมัติจะเลือกสิ่งต่าง ๆ ได้มากกว่าการตรวจสอบด้วยตนเองและโดยทั่วไปแล้วจะเข้มงวดมากขึ้นสอดคล้องและเป็นเอกสารด้วยตนเอง ความคิดเห็นแบบแมนนวลนั้นดีสำหรับการตัดสินใจในการออกแบบระดับสูงขึ้นไป ฯลฯ แต่จากประสบการณ์ของฉันพวกมันอาจเป็นแบบอัตนัยและจับจด


0

NDepend สามารถใช้เพื่อบังคับใช้มาตรฐานการเข้ารหัสต่างๆบน. NET Code Base มันมีประมาณ 200 กฎรหัสเริ่มต้นที่สามารถเรียกดูได้ที่นี่ นอกจากนี้มันเป็นเรื่องง่ายที่จะปรับแต่งกฎที่มีอยู่หรือสร้างกฎของคุณเองตั้งแต่ที่มี NDepend กฎเป็นเพียงการสอบถาม C # LINQ

ข้อจำกัดความรับผิดชอบ: ฉันทำงานเพื่อ NDepend

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.