เครื่องสร้างรหัสอัตโนมัติ [ปิด]


13

เพื่อนร่วมงานคนหนึ่งของฉันชอบใช้เครื่องสร้างรหัสอัตโนมัติซึ่งสร้างรหัสจำนวนมากที่มีเอกสารไม่ดีและยากต่อการดูแลรักษา

ค่าใช้จ่ายของการใช้เครื่องสร้างรหัสคุ้มค่ากับความยุ่งยากในการบำรุงรักษาหรือไม่เพื่อลดระยะเวลาในการสร้าง?

คำตอบ:


10

ลองใช้ถ้อยคำใหม่ที่:

ราคาของเครื่องสร้างรหัสอัตโนมัติที่ดีคุ้มค่าหรือไม่

ใช่.

ค่าใช้จ่ายของตัวสร้างโค้ดอัตโนมัติที่ไม่ดีซึ่งสร้างผลงานให้กับคนอื่นมากขึ้น แต่มันก็คุ้มค่าหรือไม่

ไม่ได้อย่างแน่นอน. ไม่มีข้อแก้ตัวสำหรับรหัสไม่ดี หากมีคนต้องการที่จะฉลาดและใช้การสร้างรหัสอัตโนมัติพวกเขาควรใช้เวลาเพื่อให้แน่ใจว่ารหัสที่สร้างขึ้นนั้นเป็นรหัสที่ดี มิฉะนั้นแล้วประเด็นคืออะไร มันเป็นเพียงการผลักเจ้าชู้ลง rode และเมื่อมันมาถึงการผลิตรหัสเจ้าชู้ควรหยุดที่นักพัฒนาที่เขียนมัน


16
ฉันไม่เห็นด้วยกับประเด็นที่สองของคุณ รหัสที่สร้างขึ้นจะต้องดีพอเพื่อให้ทำงานได้และไม่สร้างประสิทธิภาพ / ความปลอดภัยหรือปัญหาอื่น ๆ เนื่องจากคุณไม่ควรดูแลรหัสที่สร้างขึ้นด้วยตนเองจึงไม่สำคัญว่าจะไม่เป็นไปตามมาตรฐานการเข้ารหัสปกติของคุณหรือไม่
Hila

4
ไม่เป็นไรสำหรับคุณที่จะไม่เห็นด้วย อย่างไรก็ตามหากคุณจะต้องใช้เวลาในการสร้างตัวสร้างโค้ดทำไมไม่ลองใช้เวลาในการสร้างโค้ดให้สวย เมื่อสร้างแล้วฉันไม่ทราบว่าใครเป็นคนทำมันขึ้นมาอย่างไรและไม่ได้ตั้งใจอะไรนอกจากจะสามารถอ่าน / บำรุงรักษาได้เหมือนส่วนอื่น ๆ ทั้งหมด บางครั้งเครื่องกำเนิดไฟฟ้าจะมีเพียงเพื่อสร้างจุดเริ่มต้นมากกว่าผลิตภัณฑ์สำเร็จรูปเต็มรูปแบบ
ข้าวสาลี

1
นอกจากนี้หากการสร้างรหัสเป็นส่วนหนึ่งของงานสร้างของคุณ (เช่นจะได้รับการสร้างขึ้นใหม่ทุกครั้งที่สร้าง) ดังนั้นจึงไม่สมเหตุสมผลที่จะสร้างรหัส "สวยงาม" แต่ถ้าคุณจะสร้างรหัสครั้งเดียวและมันก็เป็นเรื่องที่แตกต่าง
Dean Harding

5
สวัสดี, คุณไม่ควรรักษารหัสที่สร้างขึ้นด้วยมือ, แต่เมื่อวันนั้นมาถึงคุณต้องเปลี่ยนรหัสนั้นเนื่องจากความต้องการใหม่ / การเปลี่ยนแปลง, คุณต้องมีรหัสที่ชัดเจนและเข้าใจได้เพื่อให้คุณสามารถทำการเปลี่ยนแปลงที่จำเป็นในการกำเนิด แล้วสร้างใหม่อีกครั้ง
Carson63000

6
รหัสที่สร้างไม่จำเป็นต้องสวยพอสำหรับการบำรุงรักษา แต่จะต้องมีความเข้าใจที่เพียงพอสำหรับการดีบักและการตรวจสอบความถูกต้อง
Huperniketes

23

รหัสที่สร้างโดยเครื่องกำเนิดไฟฟ้าไม่ควรดูแลด้วยมือ หากจำเป็นต้องเปลี่ยนแปลงตัวสร้างและ / หรือการตั้งค่าจะต้องถูกปรับแต่งและรันอีกครั้ง พิจารณาแล้วว่ามันไม่สำคัญว่ารหัสผลลัพธ์จะไม่สามารถเข้าใจได้และไม่มีเอกสารตราบใดที่กลไกการสร้างตัวเองนั้นใส (ตรวจสอบให้แน่ใจว่าได้จัดทำเอกสารเกี่ยวกับความจริงที่ว่ารหัสถูกสร้างขึ้นและที่กำเนิดและวิธีการทำงาน)

ความคล้ายคลึง: ในขณะที่ตัวประมวลผลของคอมพิวเตอร์ของฉันประมวลผลรหัสเครื่องเสมอฉันไม่จำเป็นต้องรู้อะไรเลยตราบใดที่ฉันรู้วิธีสร้างรหัสเครื่องโดยใช้ภาษาระดับสูงและคอมไพเลอร์ ฉันได้ยินมาว่าบางครั้ง GCC ผลิตรหัสเครื่อง subpar แต่ใครสนใจตราบใดที่มันทำงานได้อย่างสมบูรณ์ เลเยอร์นามธรรมที่เป็นนามธรรมจะสร้าง SQL เพื่อใช้งานกับเอ็นจิ้น DB แต่ใครจะสนใจว่า SQL นั้นเป็นอย่างไรตราบใดที่เลเยอร์นามธรรมนั้นมีความชัดเจนและทำงานได้?

เมื่อใช้อย่างถูกต้องตัวสร้างรหัสสามารถประหยัดการสร้างไม่เพียง แต่ยังประหยัดค่าใช้จ่ายในการบำรุงรักษาอีกด้วย


4
ปัญหาจะเกิดขึ้นมีเพียงคนเดียวเท่านั้นที่มีเครื่องมือซึ่งไม่มีใครทำและดังนั้นจึงต้องดูแลรักษารหัสด้วยตนเอง
Mumbles

นี่คือการผ่านเจ้าชู้ ในฐานะนักพัฒนาซอฟต์แวร์ธุรกิจของเราคือรหัสไม่ว่าเราจะผลิตมันอย่างไร
Steven Evers

12
@ David ถ้ามีเพียงคนเดียวที่มีเครื่องมือคุณไม่ควรใช้มันสำหรับโครงการที่มีคนมากกว่าหนึ่งคน
Matt Olenik

2
@ แมทว่า เครื่องกำเนิดไฟฟ้าเป็นส่วนหนึ่งของโครงการ (เทียบได้กับสคริปต์การสร้าง) และควรเก็บไว้ในการควบคุมเวอร์ชันหรือพื้นที่เก็บข้อมูลส่วนกลางที่คล้ายกัน
Joonas Pulakka

2
@SnOrfus: ฉันคิดว่าธุรกิจของเราคือการผลิตผลิตภัณฑ์ทำงานที่ผู้คนยินดีที่จะใช้และซื้อ นั่นคือสิ่งที่เงินเดือนของเรามาจาก รหัสเป็นเพียงสื่อ
Joonas Pulakka

6

ตัวสร้างรหัสเป็นคอมไพเลอร์ชนิดหนึ่ง คุณไม่ต้องกังวลว่าเอาต์พุตของคอมไพเลอร์จะสวยแค่ไหนคุณแค่ทำงานกับซอร์สโค้ด การใช้งานแล้วการแก้ไขด้วยมือผลลัพธ์มักจะยากกว่าการเขียนตั้งแต่เริ่มต้นในรูปแบบที่มนุษย์เข้าใจได้และหมายความว่าคุณไม่สามารถใช้ตัวสร้างโค้ดอีกครั้งโดยไม่ต้องทำงานมากเนื่องจากคุณจะต้องใช้ การเปลี่ยนแปลงรหัสเดียวกันที่เข้าใจไม่ได้เหมือนกันอย่างแม่นยำ

ดังนั้นจึงสามารถใช้ได้ถ้าพวกเขาเป็นส่วนหนึ่งของกระบวนการสร้างและจัดทำเป็นเอกสารเช่นนั้น อินพุตไปยังตัวกำเนิดนั้นเป็นซอร์สโค้ดและอะไรก็ตามที่สร้างขึ้นก็คือผลลัพธ์ระดับกลางเพื่อไม่ให้ยุ่งเหยิง

อย่างไรก็ตามหากมีใครบางคนใช้รหัสหนึ่งในการผลิตรหัสที่เข้าใจไม่ได้ซึ่งควรจะใช้เป็นแหล่งที่มาแสดงว่าบุคคลนั้นกำลังสร้างรหัสที่ไม่ดี ไม่สำคัญว่าบุคคลนั้นจะสร้างรหัสที่ไม่ดีโดยอัตโนมัติหรือด้วยมือมันยังคงเป็นรหัสที่ไม่ดีและคุณยังคงมีปัญหาด้านคุณภาพด้วย

ดังนั้นคุณจะต้องถือว่าสิ่งนี้เป็นนักพัฒนาซอฟต์แวร์คนอื่น ๆ และกำลังเขียนโค้ดที่ไม่ดี ฉันไม่รู้ว่าคุณจัดการที่ร้านค้าของคุณได้อย่างไร


3

จากความคิดเห็นเกี่ยวกับคำตอบอื่น ๆ ดูเหมือนว่าคุณกำลังถามเกี่ยวกับมาตรฐานของทีมมากกว่าผู้สร้างโค้ดเอง

เครื่องมือการสร้างรหัสควรรวมอยู่ในโครงการและควร (เป็นที่เหมาะสม) เป็นส่วนหนึ่งของกระบวนการสร้าง ตัวอย่างจะอยู่ในทีมของเราเราใช้ Subsonic 2.2 ซึ่งเราได้สร้างคลาสจากวัตถุฐานข้อมูลบนบิลด์

exe ที่ทำสิ่งนี้ถูกตรวจสอบใน SVN ซึ่งเป็นส่วนหนึ่งของโครงการเพื่อให้สมาชิกใหม่ของทีมสามารถรับโครงการใหม่จาก svn และสร้างได้ทันทีโดยไม่ต้องทราบว่าฐานข้อมูลเหล่านี้มาจากไหน (ในตัวอย่างนี้เรา อย่ารวมรหัสที่สร้างใน svn)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.