อาร์กิวเมนต์เอาท์พุทคืออะไรตามที่อ้างถึงใน Clean Code ของ Martin
ในหน้า 45 ของรหัสสะอาดของโรเบิร์ตซี. มาร์ติน: คู่มืองานฝีมือซอฟต์แวร์เปรียวมาร์ตินเขียนว่าควรหลีกเลี่ยงข้อโต้แย้งเกี่ยวกับผลลัพธ์ ฉันมีปัญหาในการเข้าใจความหมายของ "เอาท์พุทอาร์กิวเมนต์" และทำไมพวกเขาควรหลีกเลี่ยง ตัวอย่างเช่นมาร์ตินสำหรับอาร์กิวเมนต์ส่งออกเรียกฟังก์ชันappendFooter(s); public void appendFooter(StringBuffer report)การปรับปรุงรหัสของเขาคือreport.appendFooter(); อาจเป็นเพราะการขาดบริบทของรหัส แต่ฉันไม่เห็นว่าการใช้ข้อโต้แย้งเอาท์พุทจะถือว่าการเข้ารหัสไม่ดี ใครช่วยอธิบายแนวคิดหรือให้ตัวอย่างโค้ดเพิ่มเติมเพื่อให้เข้าใจสิ่งนี้ ฟังก์ชั่นต่อไปนี้จะถือว่าเป็นตัวอย่างของโค้ดที่ไม่สะอาดตามหลักการข้างต้นหรือไม่ int[] numberArray = {3, 5, 7, 1}; sortArray(numberArray); ถ้าข้างต้นเป็นการละเมิดหลักการของ Martin ที่ไม่ได้ใช้อาร์กิวเมนต์เอาท์พุทจะดีกว่าไหมถ้ามีวัตถุที่มีอาร์เรย์เป็นเขตข้อมูลและฟังก์ชันที่สามารถเรียกให้เรียงลำดับอาร์เรย์ได้ ObjectWithArrayField numberArray = new ObjectWithArrayField(3, 5, 7, 1); numberArray.sort();