เมื่อพูดถึงการเป็น Programmer/Developer ที่ดี เชื่อว่าคุณจะนึกถึงอุปนิสัยบางอย่างที่คนเหล่านั้นมีขึ้นมาทันที อันที่จริงมีอุปนิสัยบางอย่างที่ Programmer ส่วนใหญ่เห็นด้วยว่าควรต้องมี แต่ในความเป็นจริงยังมี Programmer หลายคนที่ไม่มีอุปนิสัยเหล่านั้นเลย ดังนั้เรามาดูกันว่า 6 Programming Habits ที่ Developers (หลงลืมว่า) ควรทำ
1. ทำ Code ให้ Clean อยู่เสมอ
Programming Habits ที่ดีข้อแรกก็คือ เมื่อใดก็ตามที่คุณเปลี่ยน/แก้ไขส่วนหนึ่งส่วนใดของ Code คุณก็ควรพยายามปรับปรุง Code นั้นให้ดีขึ้นด้วย ซึ่งไม่สำคัญว่าคุณจะแก้ไข Code แค่บรรทัดเดียวหรือเพิ่ม Features ใหม่ให้กับ Code ที่มีอยู่ทั้งหมด
คุณจะทึ่งกับสิ่งเล็ก ๆ น้อย ๆ ที่คุณสามารถปรับปรุงได้ในขณะที่อ่าน Code การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ที่คุณสามารถทำได้ เช่น การเปลี่ยนชื่อตัวแปรหรือ Function การที่คุณปรับปรุง Code อย่างน้อยหนึ่งครั้ง จะช่วยให้ Code ประสิทธิภาพดียิ่งขึ้นและช่วยลด Code Smells ลง
เหตุผลที่เราควรทำสิ่งนี้ก็เพราะ เรามีการเรียนรู้สิ่งใหม่ ๆ อยู่เสมอ สิ่งที่ถือว่าดีสำหรับเมื่อวาน อาจสามารถทำให้ดีขึ้นได้ในแนวทางอื่นของวันนี้ เมื่อเวลาผ่านไป Code มีแนวโน้มที่จะเก่า/ลดประสิทธิภาพบางอย่างลง ดังนั้น การใส่ใจใน Code จึงเป็นสิ่งจำเป็นเพื่อให้สามารถ Maintain พวกมันได้ในอนาคต
2. คิดเผื่อไปถึงคนต่อไปด้วย
เมื่อใดที่คุณเขียน Code ก็อย่าลืมนึกถึง Developer คนต่อไปที่จะมาดูแล Code ที่คุณเขียนไว้ด้วย
เมื่อเขียน Code ให้คิดถึงหลักการที่ว่า Code นั้นควรอ่านแล้วเข้าใจได้ง่ายที่สุดเท่าที่จะทำได้ อัตราส่วนของ “เวลาที่ใช้ในการอ่าน Code” กับ “เวลาที่ใช้ในการเขียน Code” นั้นอาจมากกว่า 10 ต่อ 1 นั่นหมายความว่า คุณสามารถประหยัดเวลาในระยะยาวได้อย่างมากด้วยการพยายามทำให้ Code ของคุณอ่านง่ายขึ้น
คุณไม่จำเป็นต้องเขียน Code ให้ดูหรูหราอยู่ตลอดเวลา แต่ควรเขียน Code ที่สามารถทำให้ทุกคนเข้าใจได้ง่ายที่สุดเข้าไว้จะดีที่สุด
3. ทำในสิ่งที่จำเป็นก่อน (อย่าเพิ่งทำเกินความจำเป็น)
Developer มักจะมีอุปนิสัยที่น่าแปลกอยู่อย่างหนึ่งคือ มักจะทำสิ่งต่าง ๆ ที่เกินความจำเป็น นั่นคือ เมื่อมีการ Request Features อะไรสักอย่างเข้ามา Developer ส่วนใหญ่มักจะสร้างบางสิ่งที่ “พิเศษ” เกินกว่าที่ Request มา
การทำแบบนี้ เราจะเรียกว่า Overengineering ซึ่งเป็นการทำสิ่งต่าง ๆ มากเกินความจำเป็นหรือความต้องการ Code ที่ถูกสร้างขึ้นอาจมีความซับซ้อนมากกว่าความจำเป็น ซึ่งสิ่งที่ถูก Overengineer ไม่ถือว่าเป็นเหตุผลที่ดีที่จะทำมัน
ส่วนใหญ่แล้วเหตุผลที่ Developer สร้างบางสิ่งที่เกินความจำเป็นขึ้นมานั้น มักเป็นการคาดคะเนล่วงหน้า ซึ่ง Developer ได้เพิ่ม Code ที่อาจเป็นประโยชน์ในอนาคตในความคิดของพวกเขา และ Code ที่ถูกเพิ่มเข้าไปใน Codebase นั้นอาจเป็น Code ที่ไม่เคยได้ใช้เลยด้วยซ้ำ
การ Overengineer สามารถนำไปสู่ Code ที่ได้รับการออกแบบผิดเพี้ยนไปจนไม่เห็นถึงวัตถุประสงค์หลักที่แท้จริงของมันในตอนแรก ดังนั้น นอกจากไม่เพียงทำให้ Code ใช้งานได้ยากแล้ว แต่อาจทำให้เข้าใจ Code ได้ยากขึ้นอีกด้วย
4. วางแผนการเขียน Code
Programmer จริง ๆ จะชอบทำสิ่งหนึ่ง นั่นคือ การเขียน Program มันไม่น่าตกใจจริง ๆ ดังนั้น สิ่งชัดเจนที่เกิดขึ้น ก็คือ Programmer ส่วนใหญ่จะกระโจนเข้าไปในส่วนที่พวกเขาชอบทำมากที่สุดเมื่อพวกเขาได้รับมอบหมายงาน นั่นคือ การเริ่มเขียน Code ในทันที
การเขียน Code อาจดูน่าตื่นเต้นในช่วงแรก อย่างไรก็ตามความตื่นเต้นนั้นอาจทำให้คุณเสียเวลามาก การที่รีบเข้าไปสู่การเขียน Code จะทำให้คุณจะไม่เห็นภาพกว้างและภาพรวมทั้งหมด
ก่อนที่จะเริ่มเขียน Code คุณต้องวางแผนและมีการจัดระเบียบที่ดี ให้คิดถึงปัญหาที่คุณอาจพบระหว่างทางและวิธีจัดการกับปัญหาเหล่านั้น คุณจะจัดโครงสร้าง Code ของคุณอย่างไร อะไรคือสาเหตุที่คุณจะใช้ Features นั้น ๆ
นี่เป็นคำถามที่ยอดเยี่ยมที่คุณควรถามตัวเองก่อนที่จะเริ่มเขียน Code ซึ่งคำถามเหล่านี้จะช่วยทำให้คุณตระหนักถึงความจริงที่ว่า มีหลายอย่างที่คุณต้องคิดให้ดีเสียก่อนที่จะเริ่มเขียน Code
5. Documentation
แน่นอนว่า นี่อาจไม่ใช่อุปนิสัยที่มีความพิเศษกว่าอุปนิสัยอื่น ๆ แต่ถึงอย่างไร มันเป็นหนึ่งในสิ่งที่คุณควรมี การจัดทำ Document ถือเป็นสิ่งที่มีความสำคัญไม่น้อย
คุณเคยตรวจดู Repository ที่ไม่มี Document เกี่ยวกับวิธี Set up บางอย่างอย่างถูกต้อง หรือ Application นั้น ๆ ควรทำงานอย่างไร บ้างหรือไม่
หลังจากอ่าน Code มา 2 – 3 ชั่วโมงแล้ว มันมีโอกาสที่คุณจะยังคงไม่เข้าใจมัน และเมื่อนั้น คุณจะต้องการ Document ของ Code ดังกล่าว
อย่างน้อยที่สุด ก็ขอแนะนำให้มี readme.md ที่เหมาะสมสำหรับ Project ของคุณ ซึ่งจะอธิบายว่า Application นั้นทำอะไรและวิธีการเริ่มต้นใช้งานของมัน
ส่วนที่น่าสนใจของการทำ Documentation ก็คือ คุณสามารถทำมันในขณะที่เขียน Code ได้ ให้คุณใช้เวลาคิดเกี่ยวกับชื่อตัวแปรที่สื่อความหมายชัดเจน เพราะการเลือกชื่อที่เหมาะสมสำหรับตัวแปร, Methods และ Classes จะต้องใช้เวลา แต่ท้ายที่สุดมัจจะช่วยประหยัดเวลาได้มากกว่าที่คิด
6. ไม่หยุดเรียนรู้
ดังที่ Isaac Asimov เคยกล่าวว่า “วันที่คุณหยุดเรียนรู้ คือวันที่คุณถอยหลังเข้าคลอง” นี่เป็นเรื่องจริง โดยเฉพาะอย่างยิ่งในโลกของเทคโนโลยีที่สิ่งต่าง ๆ เปลี่ยนแปลงอย่างรวดเร็ว
มันเป็นไปไม่ได้ที่เราจะตามทุกสิ่งที่เปลี่ยนแปลงอยู่ตลอดเวลาได้ทัน และต่อให้คุณทำได้ ก็ไม่แนะนำให้ทำถึงขั้นนั้น แต่เป็นการดีที่จะเรียนรู้ Frameworks หรือภาษา Programming ใหม่ ๆ ทุกครั้งที่มีโอกาส
มันไม่ได้หมายความว่า คุณจะต้องเชี่ยวชาญในทุกภาษา Programming หรือทุก Frameworks แต่เป็นการดีที่คุณจะได้ทดสอบพวกมัน แล้วดูว่าคุณชอบพวกมันหรือไม่
นอกจากนี้คุณจะได้ทราบข้อมูลเชิงลึกใหม่ ๆ เกี่ยวกับวิธีแก้ไขปัญหาบางอย่างในภาษา Programming หรือ Frameworks อื่น ๆ ที่จะช่วยให้คุณเป็น Programmer ที่มีมีฝีมือมากขึ้น
ISM Technology Recruitment Ltd. (#1 Tech Recruiter in Thailand) เราเชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ เปิดทำการกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย หากคุณเป็นคน IT ที่อยากทำงานท้าทายและร่วมงานกับองค์กรชั้นนำ สามารถฝากประวัติการทำงาน (Resume) ของคุณไว้กับ ISM ได้ที่ https://www.ismtech.net/submit-your-resume แล้วคุณจะพบว่าอนาคตและโอกาสก้าวหน้ากำลังรอคุณอยู่
Source: https://medium.com/