มีสองเรื่องมาแนะนำคือ เรื่องการจัดการ Memory leak และ Exception handling
ผมจะแสดงแต่ตัวอย่าง code C#นะเนื่องจาก code ใกล้เคียงกัน

[hide=5]
ใครมีแนวคิด หรือวิธีดีกว่านี้ ช่วยแนะนำด้วยละกัน
1.การจัดการเกี่ยวกับ memory leak
เรื่องนี้ไม่ค่อยมีอะไรมาก
แรกๆผมก็ไม่ได้ใส่ใจอะไร จนได้เขียนโปรแกรมลง device เล็กๆที่ memory ไม่เยอะเท่าไร
โปรแกรมที่เคยทำงานได้ดี กลับได้ไม่ถึงวัน ด้วยความที่ไม่เข้าใจนี่แหละ
ตอนแรกคิดว่า garbage collection ใน .NET มันจัดการได้ดีซะอีก ที่ไหนได้
เราต้องจัดการกับ object แต่ละตัวด้วยตัวเองอีก ไม่งั้นมีปัญหาแน่ๆ
คือ object ที่ implement interface IDisposable เราต้อง dispose มันทุกครั้งหลังจากที่ใช้งานเสร็จแล้ว
ที่ผมพลาดไปเยอะคือ object ที่เป็น Image โปรเจคผมใช้เอามาวาดเยอะจริงๆยิ่งใช้วาดใน thread ด้วย
ดูจาก taskmaneger ใน ppc โปรแกรมที่เปิดมาใช้ mem ไปแค่ 4M กลายเป็น 20M ใช้เวลาไม่ถึงวัน
การ dispose ก็ประมาณนี้ยกตัวอย่าง MemoryStream
[code]
MemoryStream ms = new MemoryStream();
try
{