อย่าเขียนแค่ Clean Code แต่ให้เขียน CRISP Code
(bitfieldconsulting.com)- ใครๆ ก็อยากเขียน "โค้ดที่สะอาด" ไม่ใช่อยากเขียน "โค้ดที่สกปรก" ใช่ไหม?
- แต่หลายคนไม่ค่อยรู้ว่า "โค้ดที่สะอาด" หมายถึงอะไร และต้องทำอย่างไร จึงมีการเสนอหลักเกณฑ์สำหรับ CRISP Code ในภาษา Go
- Correct : โค้ดที่ทำงานได้อย่างถูกต้องโดยไม่มีบั๊ก
- Readable : โค้ดที่คนอื่นอ่านได้ง่าย
- Idiomatic : โค้ดที่ยึดแนวทางหรือรูปแบบที่เป็นธรรมเนียม เพื่อให้เข้าใจได้ง่าย
- Simple : โค้ดที่ทำเฉพาะสิ่งที่ระบุไว้อย่างเรียบง่าย โดยไม่มี side effect แฝง
- Performant : ทำงานได้ถูกต้อง เข้าใจง่าย และคำนึงถึงประสิทธิภาพ
7 ความคิดเห็น
ขอแนะนำตัวย่อด้านการเขียนโค้ดแบบใหม่ ความโกลาหล (CHOSUN)!
C - ชวนสับสน (Confusing): เขียนโค้ดให้เข้าใจยาก เพื่อให้คุณกลายเป็นผู้ดูแลเพียงคนเดียวที่รักษาตำแหน่งของตัวเองในบริษัทได้
H - ปะปนมั่วไปหมด (Hodgepodge): ผสมผสานกระบวนทัศน์การเขียนโปรแกรม ไลบรารี และสไตล์ต่าง ๆ เข้าด้วยกัน เพื่อสร้างชุดโค้ดอันเป็นเอกลักษณ์และเผยด้านศิลปินของคุณ
O - ตามอำเภอใจ (Arbitrary): ตัดสินใจเรื่องสถาปัตยกรรม โครงสร้างข้อมูล และอัลกอริทึมโดยไม่มีเหตุผลที่ชัดเจน เพื่อให้กระบวนการพัฒนาดูสด ๆ และแพรวพราวยิ่งขึ้น
S - ทำให้อ่านยาก (Obfuscation): ใช้ชื่อตัวแปรที่กำกวม ลูปซ้อนหลายชั้น และการขาดคอมเมนต์ เพื่อทำให้โค้ดอ่านและทำความเข้าใจได้ยาก
U - แก้นู่นแตะนี่ (Tinkering): คอยใส่การเปลี่ยนแปลงเล็ก ๆ ลงในโค้ดเบสอย่างต่อเนื่องและไม่ทำเอกสารไว้ เพื่อให้เพื่อนร่วมงานต้องคอยระแวง และสร้างข้ออ้างในการแก้ "บั๊ก" ที่คุณแอบใส่เข้าไป
N - ไม่สม่ำเสมอ (Inconsistent): ใช้กฎการตั้งชื่อ สไตล์การเยื้องบรรทัด และฟีเจอร์ภาษาที่ต่างกันไปทั่วทั้งโค้ด เพื่อสร้างสถานการณ์ที่น่าสนใจและคาดเดาไม่ได้
จงเดินตามวิถีแห่งความโกลาหล (CHOSUN) และสร้างโค้ดเบสอันโดดเด่นชวนประทับใจให้เพื่อนร่วมงาน เพื่อรับประกันความมั่นคงในหน้าที่การงานของคุณ!
แน่นอนครับ อย่างที่คุณคาดไว้ เนื้อหาตัวย่อด้านการเขียนโค้ดข้างต้นนั้น chat-gpt เป็นคนเขียน 🤣🤣🤣
นึกถึงคำว่า “รู้เรื่อง จัดให้เรียบร้อย กระชับ และมีเซนส์” เลย
ฮ่าๆ
ฮ่าๆ
ไม่มีสิ่งที่เรียกว่า Clean Code
ก็คล้าย ๆ กับสิ่งที่บทความข้างบนพยายามจะบอกนั่นแหละครับ.. แต่คอมเมนต์ใน HN ที่เกี่ยวข้องนี่สนุกดีครับ
https://news.ycombinator.com/item?id=35611710
S - Spaghetti
I - Interlinked
M - Micromanaged
P - Perplex
L - Lazy
E - Opinionated
S - Spaghetti
P - Precarious
A - Ambiguous
G - Gratuitous
H - Haphazard
E - Entangled
T - Time-consuming
T - Tangled
I - Impenetrable
พออ่านดูแล้ว SPAGHETTI เป็นเนื้อหาเชิงเหน็บแนมสินะ 555