Skip to main content

Coding Style

Coding Style​

ในหัวข้อนี้จะกล่าวถึง Style ในการเขียนโค้ด เช่น ควรเว้นวรรคแบบใด , การเขียน Comment , บรรทัดใหม่ เป็นต้น Coding Style ที่แนะนำให้ทีมใช้ในฉบับนี้นั้นมีการอ้างอิงมาจากสไตล์ทีแนะนำโดย Microsoft รายละเอียดของสไตล์ที่แนะนำใน Guideline ฉบับนี้ แยกตามหมวดงานนั้น มีดังต่อไปนี้

2.2.1 หมวด Layout ของโค้ด

ในหมวดนี้จะกล่าวถึงการจัดหน้า การเว้นบรรทัดต่างๆเพื่อให้การจัดวาง Layout ของโค้ดในแต่ละบรรทัดอยู่ในทิศทางเดียวกัน Guideline ของหมวด Layout นั้นมีดังต่อไปนี้

  • การ Indent และ Tab ให้ใช้ Default Code Editor Setting ของ Visual Studio เท่านั้น ซึ่งได้แก่ (1) ใช้การเว้นวรรค 4 ครั้งแทน 1 Indent และ (2) การกด Tab 1 ครั้งจะได้ผลเป็นการเว้นวรรค 4 ครั้ง

  • 1 บรรทัดของการเขียนโค้ดควรมี 1 คำสั่งเท่านั้น

  • การประกาศใดๆ (เช่น ตัวแปรต่างๆ, Class, Using, ) ให้ 1 บรรทัดมีได้ไม่เกิด 1 ประกาศ

  • ภายใน Class ให้มีการจัดส่วนแบ่งระหว่าง Method, Property และ Class Variable ให้ชัดเจน โดยให้ภายใน Class นั้นมีส่วนของ (1) Property, (2) Class Variable, (3) Method ตามลำดับ

  • ระหว่าง Property, Class Variable และ Method ให้มีอย่างน้อย บรรทัดว่าง 1 บรรทัดเพื่อให้อ่านแยกได้สะดวกว่าส่วนใดคือ Property, Class Variable หรือ Method

  • การเขียนเงื่อนไข Boolean Expression ให้ใช้วงเล็บจัดสัดส่วนให้โค้ดอ่านง่ายขึ้นเสมอ เช่น

ตัวอย่างที่ควรเขียน

if ( (a < b) && (b > c) ....

ตัวอย่างที่ไม่ควรเขียน

if ( a < b && b > c) .....

2.2.2 หมวดการเขียนและการจัดการ Comment ของโค้ด

  • Comment ของโค้ด ไม่ควรอยู่ในบรรทัดเดียวกับโค้ด ควรต้องขึ้นบรรทัดใหม่เท่านั้น

ตัวอย่างที่ควรเขียน

// Intializing variable
Int studentTest = 50;

ตัวอย่างที่ไม่ควรเขียน

Int studentTest = 50; // Initializing variable
  • หลังเครื่องหมาย Comment ให้เว้นวรรค 1 ช่องว่างเสมอก่อนใช่ข้อความ Comment

ตัวอย่างที่ไม่ควรเขียน:

//This is my comment

ตัวอย่างที่ควรเขียน:

// This Is my comment
  • หลีกเลี่ยงการใช้เครื่องหมาย /* */ ในการเขียน Comment เพื่อป้องกันปัญหาการสับสนของ Nested Comment และการสับสนสัญลักษณ์ * ของส่วน comment และ ส่วนโค้ดจริงๆ กล่าวคือควรใช้ // ในการ comment เป็นหลักเท่านั้น

  • ภาษาที่ใช้ในการ Comment ใช้ภาษาไทยหรืออังกฤษก็ได้ตามแต่ตกลงภายในทีมงานของแต่ละโปรเจค

  • ควรใช้ /// เพื่อ comment กำกับทุกๆ Method ที่เป็น public เพื่อความสะดวกในการใช้ Tool ในการ Generate Document ที่มีการ support XML Documentation Style

ตัวอย่าง

///<summary>
/// This class performs an important function.
/// </summary>
public class MyClass
{

/// <summary>
/// Sample mockup method
/// </summary>
/// <returns>Mockup return value</returns>
public string SampleMethod ()
{
return "test";
}

}

รายละเอียดว่า syntax ของ XML Documentation Style มีอะไรบ้างอ่านเพิ่มได้ที่ https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/xmldoc/