ในอาชีพการทำงานโปรแกรมเมอร์ ผมเจอCodeที่มีpatternซ้ำๆ
แพลตฟอร์มที่ใช้อยู่ประจำ คือ .Net framework จำพวกC#,VB.net
พอผมมีโอกาสทำงานเว็บ ซึ่งใช้Java ผมสังเกตเห็นการเชื่อมโยงกันของMVC
ซึ่งมันจะแยกออกเป็น3-4ไฟล์ แยกเป็นส่วนๆ ตาม mvc
สมมติถ้าเขียนปกติจะมีMethodซึ่งสร้างจากTableแต่ละตัว และFieldแต่ละcolumnเป็นparameter ซึ่งมันก็จะต้องเขียนโค้ดเยอะมาก แถมแยกเป็นหลายไฟล์จนครบทั้งMVC
ผมก็เลยดีไซน์ให้ ใส่ชื่อตาราง และฟิล์ดที่ต้องการ เข้าไปในtoolของเรา แล้วได้ผลลัพธ์ออกมาเป็นไฟล์Java ที่มีCodeตามต้องการ
แต่วิธีที่ผมใช้ คือ ผมเขียนคำสั่งWritelineทีละบรรดทัด
เช่น สมมติผมต้องการโค้ดลักษณะข้างล่างนี้ ซ้ำๆ กัน
public class Sample {
public static void main(String args[]){
}
}
ก็จะเขียนโค้ดแบบนี้
System.IO.File.WriteLine("public class Sample {")
System.IO.File.WriteLine(" public static void main(String args[]){")
System.IO.File.WriteLine(" }")
System.IO.File.WriteLine("}")
แล้วก็เซฟเป็นไฟล์ .java
ซึ่งมันก็ใช้งานได้จริง แต่กว่าจะทำเสร็จก็กินเวลาไปค่อนข้างเยอะ
ตอนนี้ผมกำลังคิดจะทำTool ที่สามารถสร้างcodeได้จาก ขั้นตอนดีไซน์ (ในExcel)
คือผมได้รับโจทย์มาว่า ให้ทำValidation ตามดีไซน์ เช่น Field "Item_code" ต้องNot Null ไม่เกิน40ตัวอักษร
ตัวพิมพ์ใหญ่เท่านั้น
ผมก็ต้องมาเขียนโค้ดลักษณะนี้
_RowValidationInfos.Add(ItemsDataTable.COL_ITEM_CODE, modDataset.GetPattern(True, Alphas.Upper, True, 1, 40))
ถ้าใช้writeline แบบเดิม มันจะเปลืองเวลามากๆ เพราะมีเป็นพันๆ Field
ก็เลยอยากขอคำแนะนำว่า พอจะมีวิธีไหนที่มันดีกว่านี้อีกมั้ยครับ?
ปรึกษาการทำToolเพื่อGenerare Codeอัตโนมัติ
แพลตฟอร์มที่ใช้อยู่ประจำ คือ .Net framework จำพวกC#,VB.net
พอผมมีโอกาสทำงานเว็บ ซึ่งใช้Java ผมสังเกตเห็นการเชื่อมโยงกันของMVC
ซึ่งมันจะแยกออกเป็น3-4ไฟล์ แยกเป็นส่วนๆ ตาม mvc
สมมติถ้าเขียนปกติจะมีMethodซึ่งสร้างจากTableแต่ละตัว และFieldแต่ละcolumnเป็นparameter ซึ่งมันก็จะต้องเขียนโค้ดเยอะมาก แถมแยกเป็นหลายไฟล์จนครบทั้งMVC
ผมก็เลยดีไซน์ให้ ใส่ชื่อตาราง และฟิล์ดที่ต้องการ เข้าไปในtoolของเรา แล้วได้ผลลัพธ์ออกมาเป็นไฟล์Java ที่มีCodeตามต้องการ
แต่วิธีที่ผมใช้ คือ ผมเขียนคำสั่งWritelineทีละบรรดทัด
เช่น สมมติผมต้องการโค้ดลักษณะข้างล่างนี้ ซ้ำๆ กัน
public class Sample {
public static void main(String args[]){
}
}
ก็จะเขียนโค้ดแบบนี้
System.IO.File.WriteLine("public class Sample {")
System.IO.File.WriteLine(" public static void main(String args[]){")
System.IO.File.WriteLine(" }")
System.IO.File.WriteLine("}")
แล้วก็เซฟเป็นไฟล์ .java
ซึ่งมันก็ใช้งานได้จริง แต่กว่าจะทำเสร็จก็กินเวลาไปค่อนข้างเยอะ
ตอนนี้ผมกำลังคิดจะทำTool ที่สามารถสร้างcodeได้จาก ขั้นตอนดีไซน์ (ในExcel)
คือผมได้รับโจทย์มาว่า ให้ทำValidation ตามดีไซน์ เช่น Field "Item_code" ต้องNot Null ไม่เกิน40ตัวอักษร
ตัวพิมพ์ใหญ่เท่านั้น
ผมก็ต้องมาเขียนโค้ดลักษณะนี้
_RowValidationInfos.Add(ItemsDataTable.COL_ITEM_CODE, modDataset.GetPattern(True, Alphas.Upper, True, 1, 40))
ถ้าใช้writeline แบบเดิม มันจะเปลืองเวลามากๆ เพราะมีเป็นพันๆ Field
ก็เลยอยากขอคำแนะนำว่า พอจะมีวิธีไหนที่มันดีกว่านี้อีกมั้ยครับ?