การจัดบรรทัด
ถามว่าจำเป็นไหม ? พูดเลย จำเป็น เพราะว่าในการเขียนครั้งต่อไปหรือนำ code เหล่านั้นมาทำต่อแก้ไข ดัดแปลง มันไม่ง่ายเลยถ้าจัดบรรทัดไม่ดี จะเกิดคำพูดในใจขึ้นมา เนี่ยตรูเขียน เหี้ย อะไรเนี่ยฟ๊ระ หรือคนอื่น ๆที่มาอ่านต่อก็ แถบอยากจะลบทิ้งแล้วเขียนใหม่ จะง่ายกว่าไหม ? ตั้งตัวแปรที่สื่อความหมายพอให้เดาทางได้ เขียน /* Comment code */ ไว้บ้าง ถ้าจะแก้ไฟล์อย่าลืม Backup ไว้ให้ดี ๆ การจัดบรรทัด หลัก ๆที่ได้ประโยชน์คือ อ่านง่าย หาที่จบ Loop ได้ชัดเจน
ENV ที่ต้องมีความเข้าใจเป็นอย่างดี
OSI Models ,Sever , NGINX , Apache , PHP INI, HTACCESS, Proxy ,Route, HOST Config ,Private IP,DATABASE,DNS , NAT, ARP,REST, Cache , Memcache, Redis, DB, PHP Frame Work ต่าง ๆนา ๆที่ใช้พัฒนา Application รวมไปถึง Issue ต่าง ๆที่มันเกิดขึ้นกับสิ่งเหล่านี้ ถามว่าทำไมต้องรู้เอาจริง ๆเราไม่รู้ก็ได้ถามคนอื่นเอา ให้ คนอื่นแก้ปัญหาให้ จะดีกว่าไหมถ้าเรารู้ถึง Root cause ของปัญหาจริง ๆก่อนที่จะไปบอกให้ Infra แก้ไขปัญหาให้
Debug Step & Skill Debug
การแก้ปัญหาข้อผิดพลาดของโปรแกรมที่เขียนขึ้นมา เป็นสิ่งที่มีความจำเป็นอย่างยิ่ง มันจะเกิดขึ้นเมื่อ อยากแก้ Flow การ Calculate การ Debug ตอน Running code หรืออะไรก็แล้วแต่ โปรแกรมเมอร์ต้องจับผิดมันให้ได้ ไม่งั้นคงโดนสตั้นไปนานเลยทีเดียว นอกเหนือจากนั้นก็ต้องมีทักษะในการหา Root cause อาจจะมี Some thing wrong ไอ้ some think ต้องรู้ให้ได้ว่ามันคือ ? จะแก้อย่างไร ? วิธีการ ? เวลาที่ใช้ ? สิ่งที่อาจกระทบกับมัน
Test Case : TDD
มีคนเคยกล่าวไว้ว่าก่อนที่จะเขียน code ต้องรู้ก่อนว่าจะ Test กันยังไง KPI คืออะไร ?(หัวหน้าผมเอง) เป็น Step ของ Programmer ขั้นเทพ ไม่ต้องมาเสียเวลานั่งคิด ออกแบบ Flow การเขียนได้ระดับนี้ต้องมีประสบการณ์ขั้นสูงมาก ๆ เลยทีเดียว เป็นเรื่องที่จำเป็นมาก
Analysis
ต้องมีความเข้าใจเข้าถึงและพัฒนา " คนล่ะเรื่องแหละ สิ่งที่มืออาชีพมีคือ ต้องมองให้ขาด ออก Solution ให้ได้ว่า Requirement ขนาดนี้ ฟันธงไปเลยว่าอะไรที่ทำได้ ทำไม่ได้ และมีอะไรที่เป็นเรื่องต้องระแวง ระมัดระวัง สิ่งที่มันจะทบ สุดท้ายคงจบลงด้วยกันฟังธงไปว่า งานนี้ใช้เวลา และคนที่กี่คนเสร็ดภายในกี่วัน
Coding :
Skill ในการคิด code ออกมาก็ไม่แพ้กัน ซึ่งความสามารถนี้มันก็แล้วแต่ล่ะคน มีไม่เท่ากัน บางคนคิดนานหน่อย บางคนก็เขียนได้เลย แต่บางคนก็ต้องเปิด Doc Research แล้วค่อยเขียนได้ เวลาในการเขียนก็เหมือนกับความชำนาญ ถ้าชำนาญมาก ๆก็เขียน ได้ง่าย ๆ รวดเร็ว และถูกต้อง การทำงานของ Function เหมือนกัน แต่รูปแบบแต่ละคนเขียนก็ไม่เหมือนกัน แล้วแต่ว่าใครจะมีจิตนาการในการเขียน ประสบการณ์ หรืออื่น ๆ ซึ่งการเขียนที่ดีไม่ใช่แค่ ลด Stag ของ Code และต้องลด Resource ของเครื่องด้วย นั่นคือความไว และประสิทธิภาพมาควบคู่กัน
การวางแผนที่ดีต้องมีสิ่งนี้
- Backup plan
- Document
- Requirement
- Human management
- Presentation Deploy Plan : Lunch Project
- Policy
- Data management
- Security
- Security
- คำนึงถึงอนาคต ?จะเกิดอะไรขึ้นถ้า ข้อมูล คนใช้ เพิ่มขึ้น ? constant , Structure design
0 ความคิดเห็น:
แสดงความคิดเห็น