Saladpuk.com
💡 เกร็ดความรู้
💡 เกร็ดความรู้
  • ❤️ เกร็ดความรู้
  • กฏเหล็กในการทำงาน
  • หากเหนื่อยนักขอจงหยุดพักเสียก่อน
  • ดราม่ากับ PHP
  • อยากเรียนแต่ไม่มีตังเหรอ ?
  • แค่ต่างมุมมองทองก็กลายเป็นขี้ได้
  • อยากทำเว็บมันต้องรู้อะไรบ้างหว่า?
  • คิดแบบตรรกะจำแบบโปรแกรมเมอร์
  • เวลาทำงานเหตุผลมาก่อนเสมอ
  • บังคับคลีนโค้ดทำไมฟระ ?
  • บังคับทำเทสทำไมฟระ?
  • Requirement Driven Design
  • 👨‍💻 ที่สุดแห่งการเป็นโปรแกรมเมอร์
  • การทำซอต์แวร์โปรเจคยุคปัจจุบัน
  • เคล็ดไม่ลับในการทำซอฟต์แวร์
  • Quality vs Quantity
  • ปัญหาสมองไหล
  • เรื่องแปลกในการทำซอฟต์แวร์
  • กฎ 80:20
  • เมื่อเราไม่เข้าใจกัน
  • ปัญหาที่ใหญ่ที่สุดในการทำซอฟต์แวร์
Powered by GitBook
On this page
  • 💖 หัวใจหลักของซอฟต์แวร์คืองานเซอร์วิส
  • 🤔 แล้วทำไมบริษัทส่วนใหญ่ถึงไม่รอด ?
  • 🤔 ทำไงถึงจะแก้นิสัยพวกนี้ได้ ?
  • บทความสอนการจัดการโค้ด

Was this helpful?

Export as PDF

บังคับคลีนโค้ดทำไมฟระ ?

Previousเวลาทำงานเหตุผลมาก่อนเสมอNextบังคับทำเทสทำไมฟระ?

Last updated 5 years ago

Was this helpful?

โค้ดคือส่วนหนึ่งที่ทำให้ซอฟต์แวร์เกิดขึ้นมาได้ และ Developer หลายๆคนก็ไม่ได้สนใจคุณภาพของโค้ดที่ตัวเองเขียนสักเท่าไหร่ เพราะหลายคนคิดว่า "ถ้าส่งงานเก็บเงินได้ก็ถือว่าเป็นอันจบกัน" (น่าเสียดายงานส่วนใหญ่ในประเทศอุ๊งๆของเราเป็นแบบนี้) และจะคิดแบบนั้นก็ไม่ได้ผิดอะไรนะ แต่แมวน้ำอยากเตือนไว้ว่า

แนวคิดลักษณะนี้มันจะทำลายอาชีพ Programmer ของคุณในระยะยาว โดยตัวคุณจะทำงานแบบเด็กจบใหม่ทำกัน และมันจะบ่มนิสัยการเขียนโค้ดที่มืออาชีพเขาไม่ทำกันอีกด้วย !!

เพราะแนวคิดนี้มันจะทำให้เรามุ่งเน้นไปที่ "การสร้างซอฟต์แวร์เพื่อเอาไปขาย" และเมื่อขายได้ก็ไปสร้างตัวใหม่เพื่อขายต่อไปเรื่อยๆ ดังนั้นมันจะ "มุ่งไปที่ความเร็วในการผลิตซอฟต์แวร์" นั่นเอง

แต่เชื่อไหมว่า "ตัวชีวัดการอยู่รอดของบริษัทซอฟต์แวร์กลับไม่ใช่การสร้างซอฟต์แวร์" แต่มันเป็นเรื่องการ "ปรับปรุงรักษา" ต่างหาก ซึ่งเรื่องนี้แหละทำให้บริษัทที่ไม่ได้เข้าใจเรื่องนี้ส่วนใหญ่จะหายไปจากวงการ (ผลวิจัยคือ 80% ของบริษัทซอฟต์แวร์ที่ไม่เข้าใจเรื่องนี้จะปิดตัวลง)

💖 หัวใจหลักของซอฟต์แวร์คืองานเซอร์วิส

ถ้าเราแอบไปดูบริษัทใหญ่ๆที่ทำซอฟต์แวร์ที่เรารู้จักเราจะพบว่า รายได้หลักของบริษัทจะเกิดจากการเซอร์วิสซอฟต์แวร์ตัวเดิมๆ มากกว่าการสร้างซอฟต์แวร์ตัวใหม่ เพราะรายได้ในระยะยาวของซอฟต์แวร์คือการเซอร์วิสโดยเน้นที่กินยาวๆนั่นเอง (Microsoft, Google, Facebook แม้ว่าจะมี product ใหม่ๆออกมา แต่ตัวที่เป็นพระเอกทำเงินก็ตัวเดิมๆแหละ)

🤔 แล้วทำไมบริษัทส่วนใหญ่ถึงไม่รอด ?

ก็อย่างที่บอกไปว่ารายได้หลักของงานซอฟต์แวร์คือการกินงานเดิมไปยาวๆ ดังนั้นเราต้องมีการปรับปรุง พัฒนาความสามารถใหม่ๆให้กับมันไปเรื่อยๆ แต่ถ้าเราสร้างซอฟต์แวร์ขึ้นมาจากโค้ดที่ไม่ได้คิดถึงเรื่องเหล่านี้ สุดท้ายเรื่องเล็กๆน้อยๆพวกนั้นก็จะเป็นดินพอกหางแมวน้ำ ทำให้เราจมอยู่กับ Technical debt จนเราไม่สามารถไปเซอร์วิสอะไรได้อีกต่อไป และหนึ่งในแม่ทัพใหญ่เจ้าปัญหาก็คือการคลีนโค้ดนี่แหละ เพราะโค้ดที่พันกันมั่วซั่วเป็นสปาเก็ตตี้ มันไม่มีทางที่จะสามารถปรับปรุงแก้ไขได้ง่าย แถมเพิ่มความสามารถใหม่ๆก็ยากอีกด้วยนั่นเอง

แนะนำให้อ่าน

🤔 ทำไงถึงจะแก้นิสัยพวกนี้ได้ ?

ลองหันมารักโค้ดของคุณดูดิ ! (ผมไม่ได้เมานะ) เพราะโค้ดมันเป็นกระจกสะท้อนตัวคุณตลอดเวลาแหละ โค้ดที่มีระเบียบ มี consistency ที่ดี มีการออกแบบ และ มีการใส่ใจที่ดี มันก็บ่งบอกได้ในระดับหนึ่งว่าคุณเป็นคนยังไง (บางที่แค่เห็นโค้ดก็รับเขาทำงานแล้ว เพราะ โค้ด = ตัวคุณ) หรือให้ลองคิดง่ายๆว่า การเขียนโค้ดมันก็เหมือนกับการเขียนนิยายดีๆซักเรื่องหนึ่ง ที่รอคนมาเปิดอ่าน แค่เราใส่ใจ ใส่ความรู้สึกว่าจะทำยังไงให้มันดีขึ้นให้ได้มากกว่านี้ เชื่อแมวน้ำตัวนี้เถอะเพียงแค่เรามี Mindset แบบนี้ โค้ดในปีนี้กับปีหน้ามันจะต่างกันจนคิดว่าเป็นคนละคนเขียนเลย เพราะ มีแต่ Professional เท่านั้นแหละที่ใส่ใจรักในลูกที่เขาสร้างขึ้นมา และสิ่งที่ได้มันจะเกิดขึ้นอัตโนมัติทุกอย่าง เหมือนกับการหายใจเลย

บทความสอนการจัดการโค้ด

แนะนำให้อ่าน เป็น blog ของหนึ่งในมหาเทพของวงการซอฟต์แวร์ของโลก ที่สอนในเรื่องการออกแบบ และอื่นๆอีกมากมาย ซึ่งเรียกได้ว่าถ้าอยากเป็น Professional ในวงการก็ต้องเรียนรู้จากคนนี้แหละ

ปัญหาที่ใหญ่ที่สุดในการทำซอฟต์แวร์
👶 Clean Code
👶 Code Smells
👶 สิ่งที่คนเขียนโค้ดมักเข้าใจผิด
👦 Test-Driven Development
Clean Coder Blog
https://www.monkeyuser.com