รหัสที่บันทึกด้วยตนเองนั้นง่ายต่อการอ่านและการบำรุงรักษา
ปฏิบัติตามหลักการของความคลาดเคลื่อนน้อยที่สุดและกฎเกณฑ์ของcode-as-document : ใช้หนึ่งตัวแปรสำหรับหนึ่งเป้าหมายเพื่อให้ทั้งสองใช้งานง่ายต่อการเข้าใจและโค้ดอ่านง่ายโดยไม่มีคำอธิบาย
รหัสที่มีโครงสร้างที่ถูกต้องนั้นง่ายกว่า (ถูกกว่า) ถึง (ใช้ซ้ำ)
นอกจากนี้ที่นี่มันจะปรากฏขึ้นที่query
มักจะใช้ในการเตรียมคำสั่งก่อนที่จะดำเนินการ นั่นอาจเป็นสัญญาณว่าคุณต้องการrefactorส่วนหนึ่งของรหัสนี้เป็นหนึ่งในวิธีการช่วยเหลือ (หรือมากกว่า) เพื่อช่วยในการจัดทำและดำเนินการแบบสอบถาม (เพื่อให้สอดคล้องกับหลักการของ DRY )
ด้วยวิธีนี้คุณจะได้อย่างมีประสิทธิภาพ:
- ใช้เพียงตัวแปรเดียวในวิธีการช่วยเหลือของคุณเพื่อระบุการสืบค้นของบริบทปัจจุบัน
- ต้องพิมพ์รหัสน้อยลงทุกครั้งที่คุณต้องการเรียกใช้แบบสอบถามอีกครั้ง
- ทำให้โค้ดของคุณอ่านง่ายขึ้นสำหรับผู้อื่น
ตัวอย่าง:
ลองพิจารณาสิ่งนี้จากตัวอย่างของคุณซึ่งเวอร์ชั่นที่ปรับปรุงใหม่นั้นดีกว่าอย่างเห็นได้ชัด แน่นอนตัวอย่างของคุณเป็นเพียงตัวอย่างสำหรับวัตถุประสงค์ของคำถามนี้ แต่แนวคิดยังคงเป็นจริงและมีขนาด
ตัวอย่างของคุณ 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
ตัวอย่างของคุณ 2:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
ตัวอย่างที่ 3 (หลอกรหัสปลอม):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
ผลประโยชน์แสดงให้เห็นว่ามีการใช้ซ้ำตามปกติ
เรื่องเล็ก ๆ น้อยส่วนบุคคล
เดิมทีฉันเริ่มต้นในฐานะโปรแกรมเมอร์ C ที่ทำงานกับอสังหาริมทรัพย์แบบ จำกัด ของหน้าจอดังนั้นการใช้ตัวแปรอีกครั้งจึงสมเหตุสมผลทั้งโค้ดที่คอมไพล์ (ย้อนหลัง) และเพื่อให้โค้ดเพิ่มเติมสามารถอ่านได้ในครั้งเดียว
อย่างไรก็ตามหลังจากนั้นก็ย้ายไปยังภาษาระดับสูงขึ้นและเขียนโปรแกรมเชิงฟังก์ชั่นฉันใช้นิสัยของการใช้ตัวแปรที่ไม่เปลี่ยนรูปแบบและการอ้างอิงที่ไม่เปลี่ยนรูปเมื่อใดก็ตามที่เป็นไปได้ที่จะ จำกัด ผลข้างเคียง
มีอะไรให้ฉัน
หากคุณคิดว่าการมีฟังก์ชั่นอินพุตทั้งหมดของคุณนั้นไม่เปลี่ยนรูปแบบและส่งคืนผลลัพธ์ใหม่
ตามส่วนขยายสิ่งนี้นำไปสู่:
- คุณเขียนฟังก์ชั่นสั้น ๆ
- โดยมีวัตถุประสงค์ที่ชัดเจน
- ง่ายต่อการเข้าใจ
- เพื่อใช้ซ้ำ
- เพื่อขยาย (ไม่ว่าจะโดยการสืบทอด OO หรือโดยการผูกมัดการทำงาน)
- และเอกสาร (เช่นการจัดทำเอกสารด้วยตนเอง)
ฉันไม่ได้บอกว่าไม่มีประโยชน์ที่จะเปลี่ยนแปลงสถานะที่นี่ฉันแค่ชี้ให้เห็นว่านิสัยอาจเติบโตกับคุณและมันส่งผลกระทบต่อการอ่านรหัสได้อย่างไร