MiKo Analyzers
1.0.0
ให้เครื่องวิเคราะห์ที่ใช้แพลตฟอร์ม. NET Compiler (ROSLYN) และสามารถใช้ใน Visual Studio 2019 (V16.11) หรือ 2022 (V17.11)
วิธีการติดตั้งเครื่องวิเคราะห์ Roslyn อธิบายไว้ที่นี่
ภาพหน้าจอเกี่ยวกับวิธีการใช้เครื่องวิเคราะห์ดังกล่าวสามารถดูได้ที่นี่
ตารางต่อไปนี้แสดงกฎ 473 ทั้งหมดที่ให้บริการโดยเครื่องวิเคราะห์ในปัจจุบัน
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_0001 | วิธีการใหญ่เกินไป | - | |
| miko_0002 | วิธีการซับซ้อนเกินไป | - | |
| miko_0003 | ประเภทใหญ่เกินไป | - | |
| miko_0004 | วิธีการมีพารามิเตอร์มากเกินไป | - | |
| miko_0005 | ฟังก์ชั่นท้องถิ่นมีขนาดใหญ่เกินไป | - | |
| miko_0006 | ฟังก์ชั่นท้องถิ่นซับซ้อนเกินไป | - | |
| miko_0007 | ฟังก์ชั่นท้องถิ่นมีพารามิเตอร์มากเกินไป | - |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_1000 | ประเภท 'System.eventArgs' ควรได้รับการเสริมด้วย 'EventArgs' | ||
| Miko_1001 | พารามิเตอร์ 'System.eventArgs' ควรมีชื่อว่า 'E' | ||
| miko_1002 | ควรตั้งชื่อพารามิเตอร์ตามแนวทางการออกแบบ. NET Framework สำหรับตัวจัดการเหตุการณ์ | ||
| miko_1003 | ชื่อวิธีการจัดการเหตุการณ์ควรเป็นไปตามแนวทางการออกแบบ. NET Framework | ||
| Miko_1004 | เหตุการณ์ไม่ควรมีคำว่า 'เหตุการณ์' ในชื่อของพวกเขา | ||
| Miko_1005 | ควรตั้งชื่อตัวแปร 'system.eventargs' อย่างถูกต้อง | ||
| miko_1006 | เหตุการณ์ควรใช้ 'EventHandler <t>' กับ 'EventArgs' ซึ่งได้รับการตั้งชื่อตามเหตุการณ์ | - | |
| miko_1007 | เหตุการณ์และประเภท 'eventargs' ที่สอดคล้องกันควรอยู่ในเนมสเปซเดียวกัน | - | |
| miko_1008 | พารามิเตอร์ควรได้รับการตั้งชื่อตามแนวทางการออกแบบ. NET Framework สำหรับตัวจัดการเหตุการณ์พึ่งพา | ||
| Miko_1009 | ควรตั้งชื่อตัวแปร 'System.eventHandler' อย่างถูกต้อง | ||
| miko_1010 | วิธีการไม่ควรมี 'canExecute' หรือ 'ดำเนินการ' ในชื่อของพวกเขา | ||
| miko_1011 | วิธีการไม่ควรมี 'ทำ' ในชื่อของพวกเขา | ||
| miko_1012 | วิธีการควรตั้งชื่อ 'ยก' แทน 'ไฟ' | ||
| miko_1013 | วิธีการไม่ควรตั้งชื่อ 'แจ้งเตือน' หรือ 'Onnotify' | ||
| miko_1014 | วิธีการไม่ควรตั้งชื่อด้วย 'ตรวจสอบ' ที่คลุมเครือ | ||
| miko_1015 | วิธีการควรตั้งชื่อ 'เริ่มต้น' แทน 'init' | ||
| miko_1016 | วิธีการจากโรงงานควรมีชื่อว่า 'สร้าง' | ||
| miko_1017 | วิธีการไม่ควรนำหน้าด้วย 'get' หรือ 'set' ถ้าตามด้วย 'is', 'can' หรือ 'มี' | ||
| miko_1018 | วิธีการไม่ควรต่อท้ายด้วยคำนามของคำกริยา | ||
| miko_1019 | ควรตั้งชื่อวิธี 'ล้าง' และ 'ลบ' ตามจำนวนพารามิเตอร์ของพวกเขา | ||
| miko_1020 | ชื่อประเภทควรมีความยาว จำกัด | - | - |
| miko_1021 | ชื่อวิธีควรมีความยาว จำกัด | - | - |
| miko_1022 | ชื่อพารามิเตอร์ควรมีความยาว จำกัด | - | - |
| miko_1023 | ชื่อฟิลด์ควรมีความยาว จำกัด | - | - |
| miko_1024 | ชื่อทรัพย์สินควรมีความยาว จำกัด | - | - |
| miko_1025 | ชื่อเหตุการณ์ควรมีความยาว จำกัด | - | - |
| miko_1026 | ชื่อตัวแปรควรมีความยาว จำกัด | - | - |
| miko_1027 | ชื่อตัวแปรในลูปควรมีความยาว จำกัด | - | - |
| miko_1028 | ชื่อฟังก์ชั่นท้องถิ่นควรมีความยาว จำกัด | - | - |
| miko_1030 | ประเภทไม่ควรมีเครื่องหมาย 'นามธรรม' หรือ 'ฐาน' เพื่อระบุว่าเป็นประเภทฐาน | ||
| miko_1031 | ประเภทเอนทิตีไม่ควรใช้คำต่อท้าย 'โมเดล' | ||
| miko_1032 | วิธีการที่เกี่ยวข้องกับเอนทิตีไม่ควรใช้ 'โมเดล' เป็นเครื่องหมาย | ||
| miko_1033 | พารามิเตอร์ที่เป็นตัวแทนของเอนทิตีไม่ควรใช้คำต่อท้าย 'โมเดล' | ||
| miko_1034 | ฟิลด์ที่เป็นตัวแทนของหน่วยงานไม่ควรใช้คำต่อท้าย 'โมเดล' | ||
| miko_1035 | คุณสมบัติที่เกี่ยวข้องกับเอนทิตีไม่ควรใช้เครื่องหมาย 'โมเดล' | ||
| miko_1036 | เหตุการณ์ที่เกี่ยวข้องกับเอนทิตีไม่ควรใช้เครื่องหมาย 'โมเดล' | ||
| miko_1037 | ประเภทไม่ควรต่อท้ายด้วย 'type', 'อินเตอร์เฟส', 'คลาส', 'struct', 'บันทึก' หรือ 'enum' | ||
| miko_1038 | คลาสที่มีวิธีการขยายควรจบลงด้วยคำต่อท้ายเดียวกัน | ||
| miko_1039 | พารามิเตอร์ 'นี้' ของวิธีการขยายควรมีชื่อเริ่มต้น | ||
| miko_1040 | พารามิเตอร์ไม่ควรเพิ่มรายละเอียดการใช้งาน | - | |
| miko_1041 | ฟิลด์ไม่ควรเพิ่มรายละเอียดการใช้งาน | - | |
| miko_1042 | พารามิเตอร์ 'CancellationToken' ควรมีชื่อเฉพาะ | ||
| miko_1043 | ตัวแปร 'CancellationToken' ควรมีชื่อเฉพาะ | ||
| miko_1044 | คำสั่งควรต่อท้ายด้วย 'คำสั่ง' | ||
| miko_1045 | วิธีการที่ถูกเรียกใช้โดยคำสั่งไม่ควรเพิ่มด้วย 'คำสั่ง' | ||
| miko_1046 | วิธีการแบบอะซิงโครนัสควรเป็นไปตามรูปแบบแบบอะซิงโครนัสตามงาน (TAP) | ||
| miko_1047 | วิธีการที่ไม่ได้ทำตามรูปแบบแบบอะซิงโครนัสตามงาน (TAP) ไม่ควรโกหกเกี่ยวกับการเป็นแบบอะซิงโครนัส | ||
| miko_1048 | คลาสที่เป็นตัวแปลงค่าควรจบลงด้วยคำต่อท้ายที่เฉพาะเจาะจง | ||
| miko_1049 | อย่าใช้ข้อกำหนดข้อกำหนดเช่น 'จะ', 'ควร', 'ต้อง' หรือ 'ต้องการ' สำหรับชื่อ | ||
| miko_1050 | ค่าส่งคืนควรมีชื่อเชิงพรรณนา | ||
| miko_1051 | อย่าต่อท้ายพารามิเตอร์ที่มีประเภทผู้ได้รับมอบหมาย | ||
| miko_1052 | อย่าต่อท้ายตัวแปรที่มีประเภทผู้ได้รับมอบหมาย | ||
| miko_1053 | อย่าต่อท้ายฟิลด์ที่มีประเภทผู้ได้รับมอบหมาย | ||
| miko_1054 | อย่าตั้งชื่อประเภท 'ผู้ช่วย' หรือ 'ยูทิลิตี้' | ||
| miko_1055 | คุณสมบัติการพึ่งพาควรต่อท้ายด้วย 'คุณสมบัติ' (เช่นใน. NET Framework) | ||
| miko_1056 | คุณสมบัติการพึ่งพาควรนำหน้าด้วยชื่อคุณสมบัติ (เช่นใน. NET Framework) | ||
| miko_1057 | คีย์คุณสมบัติการพึ่งพาควรต่อท้ายด้วย 'คีย์' (เช่นใน. NET Framework) | ||
| miko_1058 | คีย์คุณสมบัติการพึ่งพาควรนำหน้าด้วยชื่อคุณสมบัติ (เช่นใน. NET Framework) | ||
| miko_1059 | อย่าตั้งชื่อประเภท 'Impl' หรือ 'การใช้งาน' | ||
| miko_1060 | ใช้ '<เอนทิตี> notfound' แทนที่จะเป็น 'get <entity> ล้มเหลว' หรือ '<entity> หายไป' | ||
| miko_1061 | ชื่อของเมธอด [try 'ของเมธอด [ออก] ควรเฉพาะเจาะจง | ||
| miko_1062 | วิธีการ 'CAN/HAS/COMTANS' คุณสมบัติหรือฟิลด์จะประกอบด้วยคำเพียงไม่กี่คำ | - | |
| miko_1063 | อย่าใช้ตัวย่อในชื่อ | ||
| miko_1064 | ชื่อพารามิเตอร์สะท้อนความหมายของพวกเขาและไม่ใช่ประเภทของพวกเขา | - | |
| miko_1065 | พารามิเตอร์ผู้ประกอบการควรตั้งชื่อตามแนวทางการออกแบบ. NET Framework สำหรับโอเปอเรเตอร์โอเวอร์โหลด | ||
| miko_1066 | พารามิเตอร์ตัวสร้างที่กำหนดให้กับคุณสมบัติควรได้รับการตั้งชื่อตามคุณสมบัติ | ||
| miko_1067 | วิธีการไม่ควรมี 'ดำเนินการ' ในชื่อของพวกเขา | ||
| miko_1068 | วิธีการเวิร์กโฟลว์ควรมีชื่อว่า 'CanRun' หรือ 'Run' | - | |
| miko_1069 | ชื่อทรัพย์สินสะท้อนความหมายของพวกเขาและไม่ใช่ประเภทของพวกเขา | - | |
| miko_1070 | ตัวแปรคอลเลกชันท้องถิ่นจะต้องใช้ชื่อพหูพจน์ | ||
| miko_1071 | ตัวแปรบูลีนท้องถิ่นควรตั้งชื่อเป็นงบและไม่เป็นคำถาม | - | |
| miko_1072 | คุณสมบัติหรือวิธีการบูลีนควรตั้งชื่อเป็นงบและไม่เป็นคำถาม | - | |
| miko_1073 | ฟิลด์บูลีนควรตั้งชื่อเป็นงบและไม่ใช่คำถาม | - | |
| miko_1074 | วัตถุที่ใช้ในการล็อคควรต่อท้ายด้วย 'ล็อค' | - | |
| miko_1075 | ประเภทที่ไม่ใช่ 'system.eventargs ไม่ควรต่อท้ายด้วย' eventargs ' | ||
| miko_1076 | ประเภทเหตุการณ์ปริซึมควรได้รับการเสริมด้วย 'เหตุการณ์' | ||
| miko_1077 | สมาชิก enum ไม่ควรต่อท้ายด้วย 'enum' | ||
| miko_1078 | ชื่อวิธีการสร้างควรเริ่มต้นด้วย 'build' | ||
| miko_1079 | ที่เก็บไม่ควรต่อท้ายด้วย 'ที่เก็บ' | ||
| miko_1080 | ชื่อควรมีตัวเลขแทนการสะกดคำ | - | |
| miko_1081 | วิธีการไม่ควรต่อท้ายด้วยตัวเลข | ||
| miko_1082 | คุณสมบัติไม่ควรต่อท้ายด้วยตัวเลขหากประเภทของพวกเขามีจำนวนต่อท้าย | ||
| miko_1083 | ฟิลด์ไม่ควรเพิ่มด้วยตัวเลขหากประเภทของพวกเขามีหมายเลขต่อท้าย | ||
| miko_1084 | ตัวแปรไม่ควรเพิ่มด้วยตัวเลขหากประเภทของพวกเขามีหมายเลขต่อท้าย | ||
| miko_1085 | พารามิเตอร์ไม่ควรต่อท้ายด้วยตัวเลข | ||
| miko_1086 | วิธีการไม่ควรตั้งชื่อโดยใช้ตัวเลขเป็นคำสแลง | - | |
| miko_1087 | ชื่อพารามิเตอร์ตัวสร้างหลังจากคู่ของพวกเขาในคลาสฐาน | ||
| miko_1088 | อินสแตนซ์ของซิงเกิลตันควรมีชื่อว่า 'อินสแตนซ์' | - | |
| miko_1089 | วิธีการไม่ควรนำหน้าด้วย 'รับ' | ||
| miko_1090 | พารามิเตอร์ไม่ควรเพิ่มด้วยประเภทเฉพาะ | ||
| miko_1091 | ตัวแปรไม่ควรเพิ่มด้วยประเภทเฉพาะ | ||
| miko_1092 | ประเภท 'ความสามารถ' ไม่ควรเพิ่มด้วยข้อมูลซ้ำซ้อน | ||
| miko_1093 | อย่าใช้คำต่อท้าย 'วัตถุ' หรือ 'struct' | ||
| miko_1094 | อย่าประเภทคำต่อท้ายที่มีชื่อเนมสเปซแบบพาสซีฟ | - | |
| miko_1095 | อย่าใช้ 'ลบ' และ 'ลบ' ทั้งในชื่อและเอกสารประกอบ | - | |
| miko_1096 | ชื่อควรใช้ 'ล้มเหลว' แทนที่จะเป็น 'ไม่ประสบความสำเร็จ' | - | |
| miko_1097 | ชื่อพารามิเตอร์ไม่ควรทำตามรูปแบบการตั้งชื่อสำหรับฟิลด์ | ||
| miko_1098 | ชื่อประเภทควรสะท้อนให้เห็นถึงส่วนต่อประสานทางธุรกิจที่พวกเขาใช้ | - | |
| miko_1099 | พารามิเตอร์การจับคู่กับวิธีการโอเวอร์โหลดควรมีชื่อเหมือนกัน | ||
| miko_1100 | คลาสทดสอบควรเริ่มต้นด้วยชื่อประเภทภายใต้การทดสอบ | - | |
| miko_1101 | คลาสทดสอบควรจบลงด้วย 'การทดสอบ' | ||
| miko_1102 | วิธีทดสอบไม่ควรมี 'ทดสอบ' ในชื่อของพวกเขา | ||
| miko_1103 | วิธีการทดสอบการเริ่มต้นควรมีชื่อว่า 'prepeTest' | ||
| miko_1104 | วิธีการทำความสะอาดทดสอบควรมีชื่อว่า 'Cleanuptest' | ||
| miko_1105 | วิธีการเริ่มต้นการทดสอบครั้งเดียวควรมีชื่อว่า 'Prepecetestenvironment' | ||
| miko_1106 | วิธีการทำความสะอาดแบบทดสอบครั้งเดียวควรมีชื่อว่า 'CleanupTestenvironment' | ||
| miko_1107 | วิธีการทดสอบไม่ควรอยู่ในการทำ Pascal-casing | ||
| miko_1108 | อย่าตั้งชื่อตัวแปรพารามิเตอร์ฟิลด์และคุณสมบัติ 'เยาะเย้ย', 'Stub', 'ปลอม' หรือ 'shim' | ||
| miko_1109 | คำนำหน้าแบบทดสอบได้ด้วย 'ทดสอบได้' แทนที่จะใช้คำต่อท้าย 'UT' | ||
| miko_1110 | วิธีทดสอบด้วยพารามิเตอร์ควรต่อท้ายด้วยขีดล่าง | ||
| miko_1111 | วิธีทดสอบที่ไม่มีพารามิเตอร์ไม่ควรต่อท้ายด้วยขีดล่าง | ||
| miko_1112 | อย่าตั้งชื่อข้อมูลทดสอบ 'โดยพลการ' | ||
| miko_1113 | วิธีทดสอบไม่ควรตั้งชื่อตามสไตล์ BDD | - | |
| miko_1114 | วิธีการทดสอบไม่ควรมีชื่อว่า 'HappyPath' หรือ 'Badpath' | - | |
| miko_1115 | วิธีทดสอบควรตั้งชื่ออย่างคล่องแคล่ว | ||
| Miko_1200 | ชื่อข้อยกเว้นในบล็อกจับอย่างสม่ำเสมอ | ||
| miko_1201 | ชื่อข้อยกเว้นเป็นพารามิเตอร์อย่างสม่ำเสมอ | ||
| miko_1300 | ตัวระบุที่ไม่สำคัญในคำสั่งแลมบ์ดาควรมีชื่อว่า '_' | ||
| miko_1400 | ชื่อเนมสเปซควรอยู่ในพหูพจน์ | - | |
| miko_1401 | เนมสเปซไม่ควรมีชื่อภาษาทางเทคนิค | - | |
| miko_1402 | เนมสเปซไม่ควรตั้งชื่อตามรูปแบบการออกแบบเฉพาะ WPF | - | |
| miko_1403 | ไม่ควรตั้งชื่อตามเนมสเปซ | - | |
| miko_1404 | เนมสเปซไม่ควรมีชื่อที่ไม่เจาะจง | - | |
| miko_1405 | เนมสเปซไม่ควรมี 'lib' | - | |
| miko_1406 | ควรวางตัวแปลงค่าในเนมสเปซ 'Converters' | - | |
| miko_1407 | การทดสอบเนมสเปซไม่ควรมี 'การทดสอบ' | - | |
| miko_1408 | ควรวางวิธีการขยายไว้ในเนมสเปซเดียวกันกับประเภทขยาย | - | |
| miko_1409 | อย่าคำนำหน้าหรือเนมสเปซต่อท้ายด้วยขีดล่าง | - |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_2000 | เอกสารควรใช้งาน XML ที่ถูกต้อง | ||
| Miko_2001 | ควรมีการบันทึกเหตุการณ์อย่างถูกต้อง | ||
| Miko_2002 | EventArgs ควรจัดทำเอกสารอย่างถูกต้อง | ||
| Miko_2003 | เอกสารของตัวจัดการเหตุการณ์ควรมีวลีเริ่มต้นเริ่มต้น | ||
| Miko_2004 | เอกสารของชื่อพารามิเตอร์ตัวจัดการเหตุการณ์ควรปฏิบัติตาม. NET Framework Design Guidelines สำหรับตัวจัดการเหตุการณ์ | ||
| Miko_2005 | การอ้างอิงข้อความควรจัดทำเอกสารอย่างถูกต้อง | - | |
| Miko_2006 | เหตุการณ์ที่กำหนดเส้นทางควรได้รับการบันทึกไว้โดย. NET Framework | ||
| miko_2010 | ชั้นเรียนที่ปิดผนึกควรมีเอกสารที่ปิดผนึก | ||
| miko_2011 | ชั้นเรียนที่เปิดผนึกไม่ควรโกหกเกี่ยวกับการปิดผนึก | ||
| miko_2012 | <summary> เอกสารควรอธิบายความรับผิดชอบของประเภท | ||
| miko_2013 | <summary> เอกสารประกอบของ enums ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2014 | ควรบันทึกวิธีการที่ทำโดย. NET Framework | ||
| miko_2015 | เอกสารควรใช้ 'เพิ่ม' หรือ 'โยน' แทน 'ไฟ' | ||
| miko_2016 | เอกสารสำหรับวิธีการแบบอะซิงโครนัสควรเริ่มต้นด้วยวลีเฉพาะ | ||
| miko_2017 | คุณสมบัติการพึ่งพา | ||
| miko_2018 | เอกสารไม่ควรใช้คำว่า 'ตรวจสอบ' หรือ 'ทดสอบ' ที่คลุมเครือ | ||
| miko_2019 | <summary> เอกสารควรเริ่มต้นด้วยคำกริยาเอกพจน์บุคคลที่สาม (ตัวอย่างเช่น "ให้") | - | |
| miko_2020 | ควรใช้เอกสารที่สืบทอดมาด้วย <mrayitdoc /> marker | ||
| miko_2021 | เอกสารของพารามิเตอร์ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2022 | เอกสารของพารามิเตอร์ [out] ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2023 | เอกสารของพารามิเตอร์บูลีนควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2024 | เอกสารของพารามิเตอร์ enum ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2025 | เอกสารของพารามิเตอร์ 'CancellationToken' ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2026 | ไม่ควรบันทึกพารามิเตอร์ที่ใช้แล้ว | - | |
| miko_2027 | พารามิเตอร์การสร้างแบบอนุกรมจะต้องบันทึกด้วยวลีเฉพาะ | ||
| miko_2028 | เอกสารของพารามิเตอร์ไม่ควรมีเพียงชื่อของพารามิเตอร์ | - | |
| miko_2029 | <mertiTdoc> เอกสารไม่ควรใช้ 'cref' กับตัวเอง | ||
| miko_2030 | เอกสารของค่าส่งคืนควรมีวลีเริ่มต้นเริ่มต้น | - | |
| miko_2031 | เอกสารของค่าการส่งคืนงานควรมีวลีเฉพาะ (เริ่มต้น) | ||
| miko_2032 | เอกสารของค่าส่งคืนบูลีนควรมีวลีเฉพาะ | ||
| miko_2033 | เอกสารของค่าคืนสตริงควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2034 | เอกสารของค่า return enum ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2035 | เอกสารของค่าคืนค่าการรวบรวมควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2036 | เอกสารของคุณสมบัติบูลีนหรือ enum จะอธิบายค่าเริ่มต้น | ||
| miko_2037 | <summary> เอกสารประกอบของคุณสมบัติคำสั่งควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2038 | <summary> เอกสารคำสั่งควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2039 | <summary> เอกสารประกอบของคลาสที่มีวิธีการขยายควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2040 | <ดู langword = "... "/> ควรใช้แทน <c> ... </c> | ||
| miko_2041 | <summary> เอกสารไม่ควรมีแท็กเอกสารอื่น ๆ | ||
| miko_2042 | เอกสารควรใช้แท็ก '<para/>' xml แทน '<br/>' แท็ก html | ||
| miko_2043 | <summary> เอกสารประกอบของผู้ได้รับมอบหมายที่กำหนดเองควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2044 | เอกสารอ้างอิงวิธีการพารามิเตอร์อย่างถูกต้อง | ||
| miko_2045 | <summary> เอกสารไม่ควรอ้างอิงพารามิเตอร์ | ||
| miko_2046 | เอกสารควรใช้พารามิเตอร์ประเภทการอ้างอิงอย่างถูกต้อง | ||
| miko_2047 | <summary> เอกสารประกอบของแอตทริบิวต์ควรมีวลีเริ่มต้นเริ่มต้น | - | |
| miko_2048 | <summary> เอกสารประกอบของตัวแปลงค่าควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2049 | เอกสารควรมีความชัดเจนมากขึ้นและไม่ใช้ 'จะเป็น' | ||
| miko_2050 | ควรมีการบันทึกข้อยกเว้นตาม. NET Framework | ||
| miko_2051 | ควรมีการบันทึกข้อยกเว้นเป็นเงื่อนไข (เช่น '<paramref name = "xyz"/> คือ <c> 42 </c>') | ||
| miko_2052 | การขว้างอาร์กิวเมนต์ Nullexception ควรได้รับการบันทึกโดยใช้วลีเริ่มต้น | ||
| miko_2053 | การโยนอาร์กิวเมนต์ Nullexception ควรได้รับการบันทึกไว้สำหรับพารามิเตอร์ประเภทอ้างอิงเท่านั้น | - | |
| miko_2054 | การขว้างอาร์กิวเมนต์ควรได้รับการบันทึกไว้โดยใช้วลีเริ่มต้นเริ่มต้น | ||
| miko_2055 | การขว้างอาร์กิวเมนต์ OveroutofRangeException ควรได้รับการบันทึกโดยใช้วลีเริ่มต้นเริ่มต้น | ||
| miko_2056 | การโยน ObjectDisposedException ควรได้รับการบันทึกโดยใช้วลีสิ้นสุดเริ่มต้น | ||
| miko_2057 | ประเภทที่ไม่ได้ทิ้ง | ||
| miko_2059 | เอกสารหลายข้อของข้อยกเว้นเดียวกันควรรวมเป็นหนึ่งเดียว | ||
| miko_2060 | โรงงานควรได้รับการบันทึกไว้อย่างสม่ำเสมอ | ||
| miko_2070 | <summary> เอกสารไม่ควรเริ่มต้นด้วย 'return' | ||
| miko_2071 | <summary> เอกสารประกอบสำหรับวิธีการที่ส่งคืนประเภท enum ไม่ควรมีวลีสำหรับประเภทบูลีน | - | |
| miko_2072 | <summary> เอกสารไม่ควรเริ่มต้นด้วย 'ลอง' | ||
| miko_2073 | <summary> เอกสารประกอบของวิธี 'มี' ควรเริ่มต้นด้วย 'กำหนดว่า' | ||
| miko_2074 | เอกสารของพารามิเตอร์ของวิธี 'มี' ควรมีวลีสิ้นสุดเริ่มต้น | ||
| miko_2075 | เอกสารควรใช้คำว่า 'การโทรกลับ' แทน 'การกระทำ', 'func' หรือ 'ฟังก์ชั่น' | ||
| miko_2076 | เอกสารควรจัดทำเอกสารค่าเริ่มต้นของพารามิเตอร์ตัวเลือก | ||
| miko_2077 | <summary> เอกสารไม่ควรมี <code> | - | |
| miko_2078 | <code> เอกสารไม่ควรมีแท็ก XML | - | |
| miko_2079 | <summary> เอกสารประกอบของคุณสมบัติไม่ควรมีข้อความที่ชัดเจน | ||
| miko_2080 | <summary> เอกสารประกอบของฟิลด์ควรมีวลีเริ่มต้นเริ่มต้น | ||
| miko_2081 | <summary> เอกสารประกอบของฟิลด์อ่านอย่างเดียวที่มองเห็นได้ในที่สาธารณะควรมีวลีสิ้นสุดเริ่มต้น | ||
| miko_2082 | <summary> เอกสารประกอบของสมาชิก enum ไม่ควรเริ่มต้นด้วยวลีเริ่มต้นเริ่มต้นของ enum <summary> เอกสารประกอบ | ||
| miko_2090 | เอกสารสำหรับตัวดำเนินการเท่าเทียมกันจะต้องมีวลีเริ่มต้น | ||
| miko_2091 | เอกสารสำหรับตัวดำเนินการไม่เท่าเทียมจะมีวลีเริ่มต้น | ||
| Miko_2100 | <except> เอกสารควรเริ่มต้นด้วยวลีเริ่มต้นเชิงพรรณนา | ||
| miko_2101 | <except> เอกสารควรแสดงตัวอย่างรหัสในแท็ก <code> | ||
| Miko_2200 | ใช้ตัวอักษรตัวอักษรเพื่อเริ่มความคิดเห็น | ||
| miko_2201 | ใช้ตัวอักษรตัวพิมพ์ใหญ่เพื่อเริ่มประโยคในความคิดเห็น | - | |
| miko_2202 | เอกสารควรใช้คำว่า 'ตัวระบุ' แทน 'ID' | ||
| miko_2203 | เอกสารควรใช้คำว่า 'ตัวระบุที่ไม่ซ้ำกัน' แทน 'Guid' | ||
| miko_2204 | เอกสารควรใช้ <list> สำหรับการแจกแจง | ||
| miko_2205 | เอกสารควรใช้ <หมายเหตุ> สำหรับข้อมูลสำคัญ | - | |
| miko_2206 | เอกสารไม่ควรใช้คำว่า 'ธง' | - | |
| miko_2207 | <summary> เอกสารจะสั้น | - | |
| miko_2208 | เอกสารไม่ควรใช้คำว่า 'อินสแตนซ์' | ||
| miko_2209 | อย่าใช้ช่วงเวลาสองครั้งในเอกสาร | ||
| miko_2210 | เอกสารควรใช้คำว่า 'ข้อมูล' แทน 'ข้อมูล' | ||
| miko_2211 | สมาชิก enum ไม่ควรมีส่วน <ข้อสังเกต> | ||
| miko_2212 | เอกสารควรใช้วลี 'ล้มเหลว' แทน 'ไม่ประสบความสำเร็จ' | ||
| miko_2213 | เอกสารไม่ควรใช้การหดตัว "n't" | ||
| miko_2214 | เอกสารไม่ควรมีบรรทัดที่ว่างเปล่า | ||
| miko_2215 | ประโยคในเอกสารจะสั้น | - | |
| miko_2216 | ใช้ <paramref> แทน <param> เพื่ออ้างอิงพารามิเตอร์ | ||
| miko_2217 | <list> เอกสารดำเนินการอย่างถูกต้อง | ||
| miko_2218 | เอกสารควรใช้คำที่สั้นกว่าแทนคำว่า 'ใช้ในการ/ใน/โดย' ในระยะยาว | ||
| miko_2219 | อย่าใช้คำถามหรือเครื่องหมายคำอธิบายในเอกสารประกอบ | - | |
| miko_2220 | เอกสารควรใช้ 'ค้นหา' แทนที่จะเป็น 'เพื่อค้นหา', 'เพื่อตรวจสอบ' หรือ 'เพื่อทดสอบ' | ||
| miko_2221 | เอกสารไม่ควรใช้แท็ก XML ที่ว่างเปล่า | - | |
| miko_2222 | เอกสารควรใช้คำว่า 'การระบุ' แทน 'Ident' | ||
| miko_2223 | การเชื่อมโยงเอกสารอ้างอิงผ่าน <ดู cref = "... "/> | - | |
| miko_2224 | เอกสารควรมีแท็ก XML และข้อความที่วางไว้บนบรรทัดแยกต่างหาก | ||
| miko_2225 | รหัสที่ทำเครื่องหมายด้วยแท็ก <c> ควรวางไว้บนบรรทัดเดียว | ||
| miko_2226 | เอกสารควรอธิบาย 'ทำไม' และไม่ใช่ 'นั่น' | - | |
| miko_2227 | เอกสารไม่ควรมีการปราบปราม Resharper | - | |
| miko_2228 | เอกสารควรใช้ถ้อยคำเชิงบวกแทนการลบ | - | |
| miko_2229 | เอกสารไม่ควรมีชิ้นส่วน XML ที่เหลืออยู่ | ||
| miko_2231 | เอกสารของวิธีการ 'gethashcode ()' ที่ถูกแทนที่จะใช้เครื่องหมาย '<mrayitdoc />' marker | ||
| miko_2232 | <summary> เอกสารไม่ควรว่างเปล่า | ||
| miko_2233 | ควรวางแท็ก XML บนบรรทัดเดียว | ||
| miko_2300 | ความคิดเห็นควรอธิบาย 'ทำไม' และไม่ใช่ 'วิธี' | - | |
| miko_2301 | อย่าใช้ความคิดเห็นที่ชัดเจนในการทดสอบ AAA | ||
| miko_2302 | อย่าเก็บรหัสที่แสดงความคิดเห็น | - | |
| miko_2303 | อย่าจบความคิดเห็นด้วยระยะเวลา | ||
| miko_2304 | อย่ากำหนดความคิดเห็นเป็นคำถาม | - | |
| miko_2305 | อย่าใช้ช่วงเวลาสองครั้งในความคิดเห็น | ||
| miko_2306 | ยุติความคิดเห็นด้วยระยะเวลา | - | - |
| miko_2307 | ความคิดเห็นควรใช้วลี 'ล้มเหลว' แทนที่จะเป็น 'ไม่ประสบความสำเร็จ' | ||
| miko_2308 | อย่าแสดงความคิดเห็นในบรรทัดเดียวก่อนปิดรั้ง แต่หลังจากรหัส | ||
| miko_2309 | ความคิดเห็นไม่ควรใช้การหดตัว "n't" | ||
| miko_2310 | ความคิดเห็นควรอธิบาย 'ทำไม' และไม่ใช่ 'นั่น' | - | |
| miko_2311 | อย่าใช้ความคิดเห็นของตัวคั่น |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_3000 | อย่าใช้ภูมิภาคที่ว่างเปล่า | - | |
| miko_3001 | ไม่ควรใช้ผู้แทนที่กำหนดเอง | - | |
| miko_3002 | ชั้นเรียนไม่ควรมีการพึ่งพามากเกินไป | - | |
| miko_3003 | กิจกรรมควรปฏิบัติตาม. NET Framework Design แนวทางสำหรับกิจกรรม | - | |
| miko_3004 | ผู้ตั้งค่าอสังหาริมทรัพย์ของ EventArgs จะเป็นส่วนตัว | - | |
| miko_3005 | วิธีการที่ชื่อว่า 'ลอง' ควรทำตามรูปแบบผู้ทดสอบ | - | |
| miko_3006 | พารามิเตอร์ 'CancellationToken' ควรเป็นพารามิเตอร์วิธีสุดท้าย | - | |
| miko_3007 | อย่าใช้วิธี LINQ และไวยากรณ์การสืบค้นที่ประกาศในวิธีเดียวกัน | - | |
| miko_3008 | วิธีการไม่ควรส่งคืนคอลเลกชันที่สามารถเปลี่ยนแปลงได้จากภายนอก | - | |
| miko_3009 | คำสั่งควรเรียกใช้เฉพาะวิธีที่มีชื่อเท่านั้นและไม่มีนิพจน์แลมบ์ดา | - | |
| miko_3010 | อย่าสร้างหรือโยนประเภทข้อยกเว้นที่สงวนไว้ | - | |
| miko_3011 | THROWN ARGURTIANTEXPECTIONS (หรือชนิดย่อย) จะให้ชื่อพารามิเตอร์ที่ถูกต้อง | ||
| miko_3012 | THROWN ARGURTOUNTOFRANGEEXCEPTIONS (หรือชนิดย่อย) จะให้ค่าที่แท้จริงที่ทำให้เกิดข้อยกเว้นที่จะโยน | ||
| miko_3013 | คำสั่ง 'ค่าเริ่มต้น' ในคำสั่ง 'สวิตช์' ควรโยนอาร์กิวเมนต์ OURGUSTOFRANGEException (หรือประเภทย่อย) แต่ไม่มีการโต้แย้งการรับรู้ | ||
| miko_3014 | InvalidoperationException, NotimplementedException และ NotSupportedException ควรมีเหตุผลเป็นข้อความ | ||
| miko_3015 | โยน conalidoperationExceptions (แทนที่จะเป็นข้อโต้แย้งหรือชนิดย่อย) เพื่อระบุสถานะที่ไม่เหมาะสมของวิธีการแบบไม่มีพารามิเตอร์ | ||
| miko_3016 | อย่าโยน argentNullexception สำหรับสถานะที่ไม่เหมาะสมของค่าคืนทรัพย์สิน | ||
| miko_3017 | อย่ากลืนข้อยกเว้นเมื่อโยนข้อยกเว้นใหม่ | ||
| miko_3018 | โยน ObjectDisposedExceptions เกี่ยวกับวิธีการที่เปิดเผยต่อสาธารณชนของประเภทที่ใช้แล้วทิ้ง | - | |
| miko_3020 | ใช้ 'task.completedTask' แทน 'task.fromresult' | ||
| miko_3021 | อย่าใช้ 'task.run' ในการใช้งาน | - | |
| miko_3022 | อย่าคืนภารกิจ <ienumerable> หรืองาน <ienumerable <t>> | - | |
| miko_3023 | อย่าใช้ 'CancellationTokenSource' เป็นพารามิเตอร์ | - | |
| miko_3024 | อย่าใช้คำหลัก [อ้างอิง] บนพารามิเตอร์อ้างอิง | - | |
| miko_3025 | อย่ากำหนดพารามิเตอร์วิธีการอีกครั้ง | - | |
| miko_3026 | ควรลบพารามิเตอร์ที่ไม่ได้ใช้ | - | |
| miko_3027 | พารามิเตอร์ไม่ควรทำเครื่องหมายไว้เพื่อสงวนไว้สำหรับการใช้งานในอนาคต | - | |
| miko_3028 | อย่ากำหนดพารามิเตอร์ NULL ให้กับแลมบ์ดา | - | |
| miko_3029 | การลงทะเบียนเหตุการณ์ไม่ควรทำให้หน่วยความจำรั่วไหล | - | |
| miko_3030 | วิธีการควรปฏิบัติตามกฎของ Demeter | - | - |
| miko_3031 | ไม่ควรใช้ iclonebable.clone () | - | |
| miko_3032 | ใช้ 'ชื่อของ' แทน cinch สำหรับชื่อของคุณสมบัติสำหรับอินสแตนซ์ของ PropertyChangedEventArgs 'ที่สร้างขึ้น' | ||
| miko_3033 | ใช้ 'Nameof' สำหรับชื่อของคุณสมบัติสำหรับ 'PropertyChangingEventArgs' และ 'PropertyChangedEventArgs' | ||
| miko_3034 | PropertyChanged Event Raiser จะใช้แอตทริบิวต์ [callermembername] | ||
| miko_3035 | อย่าเรียกใช้วิธีการ 'Waitone' โดยไม่ต้องหมดเวลา | - | |
| miko_3036 | ชอบใช้วิธีการโรงงาน 'timespan' แทนตัวสร้าง | ||
| miko_3037 | อย่าใช้หมายเลขวิเศษสำหรับการหมดเวลา | - | |
| miko_3038 | อย่าใช้หมายเลขวิเศษ | - | |
| miko_3039 | คุณสมบัติไม่ควรใช้ LINQ หรือผลผลิต | - | |
| miko_3040 | อย่าใช้บูลีนเว้นแต่คุณจะแน่ใจอย่างแน่นอนว่าคุณจะไม่ต้องการค่ามากกว่า 2 ค่า | - | |
| miko_3041 | EventArgs จะไม่ใช้ผู้ได้รับมอบหมาย | - | |
| miko_3042 | EventArgs จะไม่ใช้อินเทอร์เฟซ | - | |
| miko_3043 | ใช้ 'ชื่อของ' สำหรับการลงทะเบียน Event (DE-) | ||
| miko_3044 | ใช้ 'Nameof' เพื่อเปรียบเทียบชื่อคุณสมบัติของ 'PropertyChangingEventArgs' และ 'PropertyChangedEventArgs' | ||
| miko_3045 | ใช้ 'Nameof' สำหรับ EventManager Event Registrations | ||
| miko_3046 | ใช้ 'ชื่อ' สำหรับชื่อคุณสมบัติของวิธีการเพิ่มคุณสมบัติ | ||
| miko_3047 | ใช้ 'ชื่อ' สำหรับแอตทริบิวต์ที่ใช้ [contentProperty] | ||
| miko_3048 | ValueConverters จะต้องใช้แอตทริบิวต์ [valueConversion] | - | |
| miko_3049 | สมาชิก enum จะต้องใช้แอตทริบิวต์ [คำอธิบาย] | - | |
| miko_3050 | ฟิลด์พึ่งพาคุณสมบัติควรเป็น 'สาธารณะแบบคงที่อย่างเดียว' | ||
| miko_3051 | ควรลงทะเบียนฟิลด์ PredencyProperty อย่างถูกต้อง | ||
| miko_3052 | ฟิลด์พึ่งพา PropropertyKey ควรเป็น 'แบบคงที่แบบคงที่' แบบสาธารณะ ' | ||
| miko_3053 | ฟิลด์การพึ่งพา PropropertyKey ควรลงทะเบียนอย่างถูกต้อง | - | |
| miko_3054 | การพึ่งพาแบบอ่านอย่างเดียวควรมีตัวระบุการพึ่งพาที่เปิดเผย | ||
| miko_3055 | ViewModels ควรใช้ InotifyPropertyChanged | - | |
| miko_3060 | debug.assert หรือ trace.assert จะไม่ถูกนำมาใช้ | ||
| miko_3061 | คนตัดไม้จะใช้หมวดหมู่บันทึกที่เหมาะสม | - | |
| miko_3062 | จบข้อความบันทึกสำหรับข้อยกเว้นด้วยลำไส้ใหญ่ | ||
| miko_3063 | สิ้นสุดข้อความบันทึกที่ไม่ใช่การตรวจสอบด้วย DOT | ||
| miko_3064 | ข้อความบันทึกไม่ควรใช้การหดตัว "n't" | ||
| miko_3065 | การโทรเข้าสู่ระบบของ Microsoft ไม่ควรใช้สตริงที่ถูกแก้ไข | ||
| miko_3070 | อย่าคืนค่า null สำหรับ ienumerable | - | |
| miko_3071 | อย่าคืนค่าว่างสำหรับงาน | - | |
| miko_3072 | วิธีการที่ไม่ได้เป็นส่วนตัวไม่ควรส่งคืน 'รายการ <>' หรือ 'พจนานุกรม <>' | - | |
| miko_3073 | อย่าปล่อยให้วัตถุเริ่มต้นบางส่วน | - | |
| miko_3074 | อย่ากำหนดพารามิเตอร์ 'ref' หรือ 'out' บนตัวสร้าง | - | |
| miko_3075 | ประเภทภายในและส่วนตัวควรเป็นแบบคงที่หรือปิดผนึกเว้นแต่จะได้รับมาจากพวกเขา | ||
| miko_3076 | อย่าเริ่มต้นสมาชิกคงที่กับสมาชิกคงที่ด้านล่างหรือในประเภทอื่น ๆ | - | |
| miko_3077 | คุณสมบัติที่ส่งคืน enum ควรมีค่าเริ่มต้น | ||
| miko_3078 | สมาชิก enum ควรมีค่าเริ่มต้น | ||
| miko_3079 | ควรเขียนในเลขฐานสิบหก | ||
| miko_3080 | ใช้ 'สวิตช์ ... ส่งคืน' แทน 'สวิตช์ ... ทำลาย' เมื่อกำหนดตัวแปร | - | |
| miko_3081 | ชอบรูปแบบการจับคู่มากกว่าเงื่อนไขที่ไม่เป็นตรรกะ | ||
| miko_3082 | ชอบรูปแบบการจับคู่มากกว่าการเปรียบเทียบเชิงตรรกะกับ 'true' หรือ 'false' | ||
| miko_3083 | ชอบการจับคู่รูปแบบสำหรับการตรวจสอบว่าง | ||
| miko_3084 | อย่าวางค่าคงที่ทางด้านซ้ายเพื่อเปรียบเทียบ | ||
| miko_3085 | งบเงื่อนไขควรสั้น | - | |
| miko_3086 | อย่าทำงบเงื่อนไขตามเงื่อนไข | - | |
| miko_3087 | อย่าใช้เงื่อนไขเชิงลบที่ซับซ้อน | - | |
| miko_3088 | ชอบการจับคู่รูปแบบสำหรับการตรวจสอบที่ไม่ได้รับการตรวจสอบ | ||
| miko_3089 | อย่าใช้รูปแบบคุณสมบัติคงที่อย่างง่ายเป็นเงื่อนไขของคำสั่ง 'if' | ||
| miko_3090 | อย่าโยนข้อยกเว้นในบล็อกในที่สุด | - | |
| miko_3091 | อย่าเพิ่มเหตุการณ์ในบล็อกในที่สุด | - | |
| miko_3092 | อย่าเพิ่มเหตุการณ์ในล็อค | - | |
| miko_3093 | อย่าเรียกผู้แทนเข้ามาในล็อค | - | |
| miko_3094 | อย่าเรียกใช้วิธีหรือคุณสมบัติของพารามิเตอร์ภายในล็อค | - | |
| miko_3095 | บล็อกรหัสไม่ควรว่างเปล่า | - | |
| miko_3096 | ใช้พจนานุกรมแทนคำสั่งสวิตช์ขนาดใหญ่ | - | |
| miko_3097 | อย่าส่งไปพิมพ์และส่งคืนวัตถุ | - | |
| miko_3098 | เหตุผลของข้อความที่ถูกระงับจะต้องอธิบาย | - | |
| miko_3099 | อย่าเปรียบเทียบค่า enum กับ null | ||
| miko_3100 | คลาสทดสอบและประเภทภายใต้การทดสอบอยู่ในเนมสเปซเดียวกัน | - | |
| miko_3101 | คลาสทดสอบควรมีการทดสอบ | - | |
| miko_3102 | วิธีการทดสอบไม่ควรมีคำสั่งแบบมีเงื่อนไข (เช่น 'if', 'switch' ฯลฯ ) | - | |
| miko_3103 | วิธีการทดสอบไม่ควรใช้ 'guid.newGuid ()' | ||
| miko_3104 | ใช้แอตทริบิวต์ [combinatorial] ของ NUNIT อย่างถูกต้อง | ||
| miko_3105 | วิธีการทดสอบควรใช้วิธีการยืนยันอย่างคล่องแคล่วของนูนิท | ||
| miko_3106 | การยืนยันไม่ควรใช้ความเท่าเทียมหรือผู้ประกอบการเปรียบเทียบ | - | |
| miko_3107 | ควรใช้ตัวจับคู่เงื่อนไข Moq Mock ในการเยาะเย้ยเท่านั้น | ||
| miko_3108 | วิธีทดสอบควรใช้การยืนยัน | - | |
| miko_3109 | การยืนยันหลายครั้งจะใช้ข้อความยืนยัน | ||
| miko_3110 | การยืนยันไม่ควรใช้ 'นับ' หรือ 'ความยาว' | ||
| miko_3111 | การยืนยันควรใช้ 'is.zero' แทน 'is.equalto (0)' | ||
| miko_3112 | การยืนยันควรใช้ 'is.empty' แทนที่จะเป็น 'have.count.zero' | ||
| miko_3113 | อย่าใช้ fluentassertions | ||
| miko_3114 | ใช้ 'mock.of <t> ()' แทน 'mock ใหม่ <t> (). วัตถุ' | ||
| miko_3115 | วิธีทดสอบควรมีรหัส | - | |
| miko_3116 | วิธีการทดสอบการเริ่มต้นควรมีรหัส | - | |
| miko_3117 | วิธีการทดสอบการทำความสะอาดควรมีรหัส | - | |
| miko_3118 | วิธีทดสอบไม่ควรใช้การโทร LINQ ที่คลุมเครือ | - | |
| miko_3119 | วิธีการทดสอบไม่ควรส่งคืนงานที่เสร็จสมบูรณ์ | ||
| miko_3120 | moq mocks ควรใช้ค่าแทน 'it.is <> (... )' ตัวจับคู่เงื่อนไขเพื่อตรวจสอบค่าที่แน่นอน | ||
| miko_3121 | การทดสอบควรทดสอบการใช้งานที่เป็นรูปธรรมและไม่มีส่วนต่อประสาน | - | |
| miko_3122 | วิธีทดสอบไม่ควรใช้พารามิเตอร์มากกว่า 2 พารามิเตอร์ | - | |
| miko_3201 | หากคำสั่งสามารถกลับด้านในวิธีการสั้น ๆ | ||
| miko_3202 | ใช้เงื่อนไขเชิงบวกเมื่อกลับมาในทุกเส้นทาง | ||
| miko_3203 | คำสั่ง IF-Continue สามารถกลับด้านได้เมื่อตามด้วยบรรทัดเดียว | ||
| miko_3204 | ติดลบถ้าข้อความสามารถกลับด้านเมื่อพวกเขามีประโยคอื่น | ||
| miko_3210 | เฉพาะโอเวอร์โหลดที่ยาวที่สุดเท่านั้นควรเป็นเสมือนจริงหรือเป็นนามธรรม | - | |
| miko_3211 | ประเภทสาธารณะไม่ควรมี finalizers | - | |
| miko_3212 | อย่าสับสนกับนักพัฒนาโดยการจัดหาวิธีการอื่น ๆ | - | |
| miko_3213 | วิธีการกำจัดแบบไม่มีพารามิเตอร์เป็นไปตามรูปแบบการกำจัดขั้นพื้นฐาน | - | |
| miko_3214 | อินเตอร์เฟสไม่มีวิธีการกำหนดขอบเขต 'เริ่มต้น/สิ้นสุด' หรือ 'Enter/Exit' | - | |
| miko_3215 | การโทรกลับควรเป็น 'func <t, bool>' แทน 'predicate <bool>' | ||
| miko_3216 | ฟิลด์คงที่ด้วย itiedizers ควรอ่านอย่างเดียว | ||
| miko_3217 | อย่าใช้ประเภททั่วไปที่มีประเภททั่วไปอื่น ๆ เป็นอาร์กิวเมนต์ประเภท | - | |
| miko_3218 | อย่ากำหนดวิธีการขยายในสถานที่ที่ไม่คาดคิด | - | |
| miko_3219 | สมาชิกสาธารณะไม่ควรเป็น 'เสมือนจริง' | - | |
| miko_3220 | logical '&&' หรือ '||' เงื่อนไขการใช้ 'true' หรือ 'false' ควรง่ายขึ้น | ||
| miko_3221 | Gethashcode Overrides ควรใช้ 'hashcode.combine' | ||
| miko_3222 | การเปรียบเทียบสตริงสามารถทำให้ง่ายขึ้น | ||
| miko_3223 | การเปรียบเทียบการอ้างอิงสามารถทำให้ง่ายขึ้น | ||
| miko_3224 | การเปรียบเทียบค่าสามารถทำให้ง่ายขึ้น | ||
| miko_3225 | การเปรียบเทียบซ้ำซ้อนสามารถทำให้ง่ายขึ้น | ||
| miko_3301 | ชอบร่างนิพจน์แลมบ์ดาแทนบล็อกนิพจน์แลมบ์ดาแบบวงเล็บสำหรับข้อความเดียว | ||
| miko_3302 | ชอบร่างการแสดงออกของแลมบ์ดาอย่างง่ายแทนที่จะเป็นตัวนิพจน์แลมบ์ดาแบบวงเล็บสำหรับพารามิเตอร์เดี่ยว | ||
| miko_3401 | ลำดับชั้นของเนมสเปซไม่ควรลึกเกินไป | - | |
| miko_3501 | อย่าระงับคำเตือนที่เป็นโมฆะเกี่ยวกับผู้ให้บริการที่ไม่มีเงื่อนไข | ||
| miko_3502 | อย่าระงับคำเตือนที่เป็นโมฆะเกี่ยวกับการโทร LINQ |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_4001 | วิธีการที่มีชื่อเดียวกันควรสั่งซื้อตามจำนวนพารามิเตอร์ของพวกเขา | ||
| miko_4002 | วิธีการที่มีชื่อและการเข้าถึงเดียวกันควรวางแบบเคียงข้างกัน | ||
| miko_4003 | ควรวางวิธีการโดยตรงหลังจากตัวสร้างและ finalizers | ||
| miko_4004 | ควรวางวิธีการก่อนวิธีการอื่น ๆ ทั้งหมดของการเข้าถึงเดียวกัน | ||
| miko_4005 | อินเทอร์เฟซที่ให้ชื่อประเภทควรวางโดยตรงหลังจากการประกาศของประเภท | ||
| miko_4007 | ควรวางผู้ประกอบการก่อนวิธีการ | ||
| miko_4008 | ควรวางวิธี GethashCode โดยตรงหลังจากวิธีการเท่ากับวิธีการ | ||
| miko_4101 | วิธีการทดสอบการเริ่มต้นควรสั่งซื้อโดยตรงหลังจากวิธีการครั้งเดียว | ||
| miko_4102 | ควรสั่งวิธีการทำความสะอาดหลังจากวิธีการทดสอบการเริ่มต้นและก่อนวิธีการทดสอบ | ||
| miko_4103 | ควรสั่งวิธีการเริ่มต้นแบบทดสอบครั้งเดียวก่อนวิธีอื่นทั้งหมด | ||
| miko_4104 | วิธีการทำความสะอาดแบบทดสอบครั้งเดียวควรได้รับการสั่งซื้อโดยตรงหลังจากวิธีการเริ่มต้นแบบทดสอบครั้งเดียว |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_5001 | ควรเรียกใช้วิธี 'debug' และ 'debugformat' หลังจาก 'isdebugenabled' | ||
| miko_5002 | ควรเรียกใช้วิธี 'xxxformat' ด้วยหลายอาร์กิวเมนต์เท่านั้น | ||
| miko_5003 | ควรเรียกใช้วิธีการบันทึกที่ถูกต้องสำหรับข้อยกเว้น | - | |
| miko_5010 | อย่าใช้ 'Object.equals ()' กับประเภทค่า | ||
| miko_5011 | อย่าเชื่อมต่อสตริงด้วย += ตัวดำเนินการ | - | |
| miko_5012 | อย่าใช้ 'ผลตอบแทนผลตอบแทน' สำหรับโครงสร้างที่กำหนดซ้ำ | - | |
| miko_5013 | อย่าสร้างอาร์เรย์ที่ว่างเปล่า | ||
| miko_5014 | อย่าสร้างรายการที่ว่างเปล่าหากค่าส่งคืนเป็นแบบอ่านอย่างเดียว | ||
| miko_5015 | อย่าฝึกงาน | ||
| miko_5016 | ใช้ hashset สำหรับการค้นหาใน 'list.removeall' | - | |
| miko_5017 | ฟิลด์หรือตัวแปรที่กำหนดด้วยตัวอักษรสตริงควรเป็นค่าคงที่ |
| รหัสประจำตัว | ชื่อ | เปิดใช้งานโดยค่าเริ่มต้น | CodeFix พร้อมใช้งาน |
|---|---|---|---|
| miko_6001 | คำสั่งบันทึกควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6002 | คำสั่งการยืนยันควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6003 | คำสั่งตัวแปรท้องถิ่นควรนำหน้าด้วยเส้นเปล่า | ||
| miko_6004 | คำสั่งการกำหนดตัวแปรควรนำหน้าด้วยเส้นเปล่า | ||
| miko_6005 | คำสั่งที่ส่งคืนควรนำหน้าด้วยเส้นเปล่า | ||
| miko_6006 | ข้อความรอคอยควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6007 | ข้อความทดสอบควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6008 | การใช้คำสั่งควรนำหน้าด้วยเส้นเปล่า | ||
| miko_6009 | ลองใช้คำสั่งที่ล้อมรอบด้วยเส้นเปล่า | ||
| miko_6010 | หากข้อความควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6011 | คำสั่งล็อคควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6012 | Foreach Loops ควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6013 | สำหรับลูปควรถูกล้อมรอบด้วยเส้นเปล่า | ||
| miko_6014 | ในขณะที่ลูปควรถูกล้อมรอบด้วยเส้นเปล่า | ||
| miko_6015 | ทำ/ในขณะที่ลูปควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6016 | การใช้ข้อความควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6017 | คำสั่งสวิตช์ควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6018 | คำสั่งทำลายควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6019 | ข้อความต่อไปควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6020 | คำสั่งโยนควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6021 | อาร์กิวเมนต์ Nullexception.Throwifnull ข้อความควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6022 | อาร์กิวเมนต์การรับรู้ข้อความควรถูกล้อมรอบด้วยเส้นเปล่า | ||
| miko_6023 | อาร์กิวเมนต์ OURGUSTOFRANGEEXPECTION.THROWIF ควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6024 | ObjectDisposedException.Throwif คำสั่งควรล้อมรอบด้วยเส้นเปล่า | ||
| miko_6030 | ควรวางเครื่องมือจัดฟันของ Initializers ไว้ด้านล่างคำจำกัดความประเภทที่สอดคล้องกันโดยตรง | ||
| miko_6031 | Question and colon tokens of ternary operators should be placed directly below the corresponding condition | ||
| MiKo_6032 | Multi-line parameters are positioned outdented at end of method | ||
| MiKo_6033 | Braces of blocks below case sections should be placed directly below the corresponding case keyword | ||
| MiKo_6034 | Dots should be placed on same line(s) as invoked members | ||
| MiKo_6035 | Open parenthesis should be placed on same line(s) as invoked methods | ||
| MiKo_6036 | Lambda blocks should be placed directly below the corresponding arrow(s) | ||
| MiKo_6037 | Single arguments should be placed on same line(s) as invoked methods | ||
| MiKo_6038 | Casts should be placed on same line(s) | ||
| MiKo_6039 | Return values should be placed on same line(s) as return keywords | ||
| MiKo_6040 | Consecutive invocations spaning multiple lines should be aligned by their dots | ||
| MiKo_6041 | Assignments should be placed on same line(s) | ||
| MiKo_6042 | 'new' keywords should be placed on same line(s) as the types | ||
| MiKo_6043 | Expression bodies of lambdas should be placed on same line as lambda itself when fitting | ||
| MiKo_6044 | Operators such as '&&' or '||' should be placed on same line(s) as their (right) operands | ||
| MiKo_6045 | Comparisons using operators such as '==' or '!=' should be placed on same line(s) | ||
| MiKo_6046 | Calculations using operators such as '+' or '%' should be placed on same line(s) | ||
| MiKo_6047 | Braces of switch expressions should be placed directly below the corresponding switch keyword | ||
| MiKo_6048 | Logical conditions should be placed on a single line | ||
| MiKo_6049 | Event (un-)registrations should be surrounded by blank lines | ||
| MiKo_6050 | Multi-line arguments are positioned outdented at end of method call | ||
| MiKo_6051 | Colon of constructor call shall be placed on same line as constructor call | ||
| MiKo_6052 | Colon of list of base types shall be placed on same line as first base type | ||
| MiKo_6053 | Single-line arguments shall be placed on single line | ||
| MiKo_6054 | Lambda arrows shall be placed on same line as the parameter(s) of the lambda | ||
| MiKo_6055 | Assignment statements should be surrounded by blank lines | ||
| MiKo_6056 | Brackets of collection expressions should be placed directly at the same place collection initializer braces would be positioned | ||
| MiKo_6057 | Type parameter constraint clauses should be aligned vertically | ||
| MiKo_6058 | Type parameter constraint clauses should be indented below parameter list | ||
| MiKo_6059 | Multi-line conditions are positioned outdented below associated calls | ||
| MiKo_6060 | Switch case labels should be placed on same line | ||
| MiKo_6061 | Switch expression arms should be placed on same line | ||
| MiKo_6070 | Console statements should be surrounded by blank lines | ||
| MiKo_6071 | Local using statements should be surrounded by blank lines |