แทนที่จะดูที่โหมดทางการของการนิยามความเรียบง่ายฉันอยากจะนิยามความเรียบง่ายเป็นคุณลักษณะของคุณภาพการเขียนโค้ด
ฉันไม่ได้วัดความเรียบง่าย แต่เมื่อใดที่คุณเรียกว่าอะไรที่เรียบง่ายหรือไม่
1.
การสำรวจเส้นทางโค้ด:การเลื่อนดูโค้ดทำได้ง่ายเพียงใด? มันง่ายที่จะระบุตำแหน่งที่ฟังก์ชั่น API ถูกเขียน? มันง่ายที่จะเข้าใจ flow call เช่นวิธีการใดที่เรียกผู้อื่น (และเพราะอะไร) - มีกลไกของรัฐที่ดีหรือใช้อัลกอริธึมที่ระบุอย่างหมดจดหรือไม่
เมื่อการสำรวจรหัสเป็นเรื่องง่ายรหัสนั้นง่ายต่อการติดตาม
2. การตั้งชื่อ
ในขณะที่มาตรฐานการเข้ารหัสอื่น ๆ ช่วยให้โค้ดดูสะอาดตา - สิ่งที่สำคัญที่สุดคือการตั้งชื่อคลาส / วัตถุ - อินสแตนซ์ / ตัวแปร / วิธีการ การใช้ชื่อที่ชัดเจนและไม่คลุมเครือนั้นชัดเจนมีผลกระทบอย่างมากต่อความเรียบง่ายของรหัส เมื่อมันยากที่จะระบุชื่อแบบง่ายมันเป็นสัญญาณที่คุณอาจต้องการคิดใหม่อีกครั้งว่าแนวคิดเป็นตัวแปร / วิธีการนั้น
3. การตีความและการอ้างอิง
แต่ละวิธีการของคุณมีบทบาทที่ชัดเจนในการเล่นหรือไม่ แต่ละตัวแปร / คุณสมบัตินั้นง่ายต่อการพิจารณาบทบาทที่พวกเขาเล่นหรือไม่? เมื่อชิ้นส่วนของโค้ดทำสิ่งที่มีความหมายถึงข้อสันนิษฐานหรือส่งผลต่อชุดตัวแปรที่ไม่เกี่ยวข้องอาจกลายเป็นฝันร้ายในการบำรุงรักษา
4. การพึ่งพาหรือการมีเพศสัมพันธ์
นี่เป็นการยากที่จะตัดสินโดยการดูที่รหัส แต่จะเห็นได้ชัดมากหากมีคนพยายามแก้ไขข้อบกพร่องของคุณ เมื่อสิ่งอื่น ๆเปลี่ยนแปลงในวัตถุอื่น ๆ การดำเนินการที่นี่มีการเปลี่ยนแปลงหรือไม่? การเปลี่ยนแปลงเหล่านั้นชัดเจนหรือไม่ คุณต้องการเปลี่ยน API บ่อยๆเพื่อรองรับเนื้อหาหรือไม่ สิ่งเหล่านี้ชี้ให้เห็นว่าความสัมพันธ์ของโมดูเลตนั้นไม่ง่าย
5. อินพุตผู้ใช้หรือแอปพลิเคชัน
ในที่สุดวิธีการที่ผู้ใช้หรือแอปพลิเคชันยอมรับได้ง่ายบน API / UI? เมื่อมีผู้ใช้ / แอปพลิเคชันที่เป็นไปได้หลายอย่าง (เพื่อจุดประสงค์ที่แตกต่างกัน) จำเป็นต้องให้คุณ - พวกเขาชัดเจนหรือไม่? มีสถานะ / รายละเอียดที่ไม่เกี่ยวข้องกับสิ่งที่เป็นนามธรรมที่สูงขึ้น แต่ยังกลับไปที่ส่วนต่อประสานกลับหรือไม่?
คำถามง่าย ๆ ที่ฉันถามโดยทั่วไปมีดังนี้: ถ้าแทนที่จะเป็นโปรแกรมถ้าฉันขอให้มนุษย์ทำหน้าที่เดียวกันฉันจะกรอกข้อมูลนี้ในแบบฟอร์มกระดาษหรือไม่? ถ้าไม่ฉันไม่ง่ายพอที่นี่
ฉันจะไม่พูดว่ารายการนี้หมดจด แต่ฉันเดาว่าเกณฑ์เป็นวิธีที่ง่ายหรือยากในการใช้และแก้ไขซอฟต์แวร์ นั่นเป็นเรื่องง่าย