วิธีอ่านโค้ดหลายพันบรรทัดโดยไม่มีเอกสารประกอบ? [ปิด]


12

ก่อนหน้านี้ฉันค้นหาการควบคุม TimeLine ที่ดีสำหรับโครงการ WPF ฉันพบคำตอบในที่นี่ซึ่งนำฉันไปยังโครงการ CodePlexนี้

ตอนนี้ฉันต้องการเปลี่ยนรหัสเพื่อเลี้ยงความต้องการทางวัฒนธรรมของฉัน แต่มีบางอย่างไม่ตรงกัน!

คำถามของฉันคือ:

คุณโต้ตอบกับโค้ดหลายพันบรรทัดได้อย่างไร

แก้ไข:

ทางลัดใด ๆ จะดีมาก!


3
ขอเพิ่ม มันช่วยได้เสมอ (พวกเขาสามารถสร้างแรงจูงใจจากสิ่งนี้)
ชื่อที่แสดง

2
กระแทกหัวของคุณกับโต๊ะจนกระทั่งมันชัดเจน
jellyfishtree

19
คุณกินช้างอย่างไร ... ครั้งหนึ่งกัด
Bill

1
@ Jalal นั่นคือสิ่งที่พวกเขาต้องการให้คุณคิด
Mateen Ulhaq

2
@DisplayName, แครอทและแนวทางติดกับแรงจูงใจได้รับการแสดงให้เห็นว่าเป็นทางออกที่ไม่ดีสำหรับการทำงานใด ๆ ที่ต้องใช้ทักษะความรู้ความเข้าใจพื้นฐาน ศาสตร์แห่งแรงจูงใจนั้นซับซ้อนกว่าระบบการให้รางวัล ตรวจสอบ 'ไดรฟ์: ความจริงที่น่าประหลาดใจเกี่ยวกับสิ่งที่กระตุ้นให้เรา' โดยแดนพิ้งค์มันเป็นอ่านที่น่าประหลาดใจ หรือลองชมวิดีโอนี้เพื่อดูวิดีโอแบบย่อ youtube.com/watch?v=u6XAPnuFjJc
Ryan Taylor

คำตอบ:


37

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


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

1
+1 นอกจากนี้หากคุณแก้ไขโค้ดต้องแน่ใจว่าคุณเปลี่ยนความคิดเห็นของคุณเช่นกันเพื่อให้รุ่นอนาคตไม่สับสนกับสิ่งที่คุณทำ เป็นความอัปยศที่จะทำทุกอย่างที่ doc และมีคนเกลียดมันทำให้มันผิด!
Michael K

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

8
  1. ผ่านรหัส
  2. เปลี่ยนชื่อตามต้องการ
  3. Refactor ตามต้องการ
  4. ทำซ้ำจนกว่าคุณจะเข้าใจอย่างสมบูรณ์

... และรหัสจะขอบคุณสำหรับมัน ;-)


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

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

+1 Coder และคำตอบนี้ไม่ได้พูดถึงการทดสอบหน่วย น่ากลัว
MarkJ

ขออภัยไม่ได้หมายถึงการปรับเปลี่ยนครั้งใหญ่ กำลังพูดถึงเพิ่มเติมเกี่ยวกับการรีแฟคเตอร์ย่อยประเภทการล้างข้อมูล ในที่สุดคุณก็มาถึงจุดที่เห็นได้ชัดว่าจุดประสงค์ของรหัสนั้นชัดเจน
John MacIntyre

5

ดำเนินการเดี่ยวแก้ไขข้อบกพร่อง (อีกครั้งและอีกครั้ง) รหัสเพื่อค้นหาว่าการกระทำนั้นสำเร็จได้อย่างไร เขียนเหมือนกันในภาษาง่าย ๆ เพื่อทำความเข้าใจให้ดีขึ้น!


ปกติแล้วฉันจะทำเช่นนี้จนกว่าจะเจอโปรเจ็กต์ที่ไม่สามารถทำงานในโหมดดีบักได้! มันผิดพลาดเสมอในช่วงเริ่มต้นขึ้น! :( แต่มันจะทำงานได้ดีในโหมดการปล่อย: S
Afriza N. Arief

@afriza สิ่งที่ FUCK นั่นคือรหัสที่ไม่ดีอย่างจริงจังตรวจสอบว่ามีข้อผิดพลาดอะไรบ้าง
Daniel S

@afriza สิ่งแรกที่ต้องแก้ไข!

4

สิ่งที่ Joel Spolsky เขียนกลับมาเมื่อในบล็อกของเขา (ไม่สามารถหาบทความตอนนี้) ติดกับฉันเกี่ยวกับเรื่องนี้:

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

ดังนั้นฉันคิดว่ากุญแจสำคัญคือต้องช้าช้าเป็นระเบียบและเป็นวิทยาศาสตร์ และอย่างที่คนอื่น ๆ พูด - แสดงความคิดเห็น (และแม้แต่ refactor) ตามที่คุณไป อย่าตกอยู่ในความคิดของ "ฉันควรดูและเข้าใจทันที"

โอ้และใช่ฉันยังตกหลุมพรางนี้บางครั้ง "ทำตามที่ฉันพูดไม่ใช่อย่างที่ฉันทำ" และทั้งหมดนั้น :)


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

จริงๆแล้วรหัสที่เขียนได้ดีนั้นอ่านง่าย แต่ไม่ใช่ข้อความ คุณแค่สแกนเพื่อดู Building Block และเข้าใจโครงสร้างหลักไม่จำเป็นต้องอ่านทุกอย่าง วิธีการเข้ารหัสที่ไม่ดีเช่นรหัส skool เก่าหรือการใช้ SOLID ที่ไม่เหมาะสมและรูปแบบอาจทำให้งานนี้ยากมาก
Coder

4

SE-Radio สัมภาษณ์ Dave Thomas เกี่ยวกับเรื่องนี้

ตอนพอดคาสต์นี้มีเคล็ดลับและเทคนิคมากมายในการเข้าสู่ 'วัฒนธรรม' ของโครงการและเข้าใจว่าผู้คนดั้งเดิมอาศัยอย่างไร


ส่วนที่เฮฮาเกี่ยวกับประสบการณ์ของ Dave Thomas ก็คือเอกสารนั้น - นอกเหนือจากภาพรวมระดับสูง - คือ (เกือบ) โดยไม่มีข้อยกเว้นที่เลวร้ายยิ่งกว่าไม่มีเอกสารเลย (จากประสบการณ์ของฉันมันเป็นเพราะเอกสารส่วนใหญ่เป็นสำเร็จรูปที่ให้ความเข้าใจในระดับพื้นผิวของ "อะไร" หรือ "อย่างไร" ซึ่งคงเป็นวันที่ล้าสมัยไปจนถึงจุดที่ทำให้เข้าใจผิด)
Michael Kropat

2

ฉันต้องทำสิ่งนี้เมื่อเร็ว ๆ นี้ด้วยโครงการกว่า 100,000 LOC แนวคิดแรกของฉันคือการดูรูปแบบจากกราฟของ 100 หรือ 1,000 โหนดได้ง่ายกว่าจากข้อความ 100,000 บรรทัด

ดังนั้นฉันใช้เวลา 45 นาทีและเขียนโปรแกรม Python (<100LOC) สั้น ๆ เพื่อแยกสิ่งที่ฉันต้องการจากนั้นและวาดความสัมพันธ์ของวัตถุ ฉันสร้างซอร์สGraphvizซึ่งเป็นภาษาที่ง่ายต่อการสร้าง (ไม่มีอะไรพิเศษเกี่ยวกับ Python ที่นี่: Ruby หรือ C # หรือ Lisp สามัญหรืออะไรก็ได้ที่ทำได้เช่นกัน)

ในโครงการอื่น ๆ ฉันเคยเห็นผู้คนใช้ Graphviz สำหรับการอ้างอิงโมดูลกราฟการโทรประวัติรุ่นทุกสิ่ง เครื่องมือสร้างภาพเครื่องมือที่ยอดเยี่ยมที่สุดที่เคยมีมา

(อาจเป็นเพราะฉันใช้คอมไพเลอร์แต่ฉันคิดว่ามันแปลกที่เมื่อโปรแกรมเมอร์ประสบปัญหาคำตอบดูเหมือนจะเป็น "เขียนโปรแกรม!" ยกเว้นเมื่อปัญหาเกี่ยวข้องกับซอร์สโค้ดไปยังโปรแกรม: - )


1

ก้าวผ่านมันในตัวดีบั๊กขณะที่มันทำงานเกือบจะเป็นวิธีเดียวในการทำความเข้าใจกับโค้ดฐานใหม่ที่มีขนาดใหญ่


2
นั่นไม่ใช่ตัวเลือกที่ใช้งานได้จริงเมื่อคุณมีรหัสเป็นพัน ๆ บรรทัด (โดยเฉพาะอย่างยิ่งเมื่อเรากำลังพูดถึง KLOCs นับสิบหรือร้อย) และ / หรือหากส่วนหนึ่งของรหัสนั้นอยู่ในเทมเพลต เพื่อให้ได้มาซึ่งฐานรหัสใหม่ (และมีเอกสารไม่ดี) ต้องมีส่วนร่วมในธุรกิจและพยายามเข้าใจบริบทที่รหัสควรทำงาน หากคุณสามารถอ่านรหัสด้วยโปรแกรมดีบั๊กเกอร์และทำความเข้าใจกับโค้ดนั้นฐานรหัสนั้นไม่ใหญ่มากนัก (ใช้ประโยชน์จากตัวดีบั๊กค่อนข้างไม่จำเป็นในกรณีส่วนใหญ่)
luis.espinal

ความเสียหายจะเกิดขึ้นถ้ารหัสฐานมีขนาดใหญ่เกินกว่าที่จะทำการดีบักในตัวดีบั๊ก การเห็นโค้ดทำปฏิกิริยากับอินพุตและเอาต์พุตที่รู้จักช่วยในการแปลงความรู้ของ "อะไร" เป็น "อย่างไร" คำถาม "ทำไม" ไม่สามารถตอบได้ด้วยตัวดีบักเพียงอย่างเดียว แต่อาจมีความคิดเห็นแหล่งข้อมูลในบรรทัดที่คุณสามารถเห็นได้ใน IDE เมื่อคุณทำการดีบัก
grrussel

@grussel ฉันต้องไม่เห็นด้วยเพราะมันไม่ใช่สิ่งที่ฉันทำ ... ฉันไม่รู้ว่าฉันเป็นตัวแทนหรือไม่! ฉันสามารถเรียงลำดับการดูใช้เบรกพอยต์คี่ (แต่ยังไม่ก้าวผ่านอย่างชัดเจน) และฉันใช้คุณสมบัติ IDE เพื่อให้ฉันสามารถเชื่อมโยงชิ้นส่วนหนึ่งไปยังอีก
Murph

1

ทำความเข้าใจว่าไม่มีทางลัดใด ๆ ในการเดินอย่างสมบูรณ์ (และถ้าคุณมีปัญหากับวลีนั้นการศึกษาของคุณถูกละเลยอย่างมากมันมาจาก "คนแปลกหน้าในดินแดนแปลก" โดย Robert A. Heinlein)

อ่านทีละหน้าทีละหน้าทีละครั้ง เพิ่มความคิดเห็น วาดภาพของโครงสร้างข้อมูลที่สำคัญ รู้จักอัลกอริทึม วาดตามความรู้ก่อนหน้า

ต้านทานสิ่งล่อใจที่จะเหวี่ยงตัวดีบัก พอร์ตการดีบักเกอร์นั้นเล็กเกินไป: คุณเห็นทีละบรรทัด แต่คุณไม่เห็นว่าคุณกำลังจะไปไหนหรือไปไหน


ดีบักอธิบายการประชุมบางการประชุมนักเขียนรหัสเดิมเกี่ยวกับสิ่งที่คาดว่าภายในตัวแปร (เช่นพวกเขาคาดหวังเต็มเส้นทางหรือชื่อไฟล์หรือเส้นทางญาติ?) และอื่น ๆ อีกมากมายดังนั้นจึงยังคงความสำคัญในความคิดของฉัน
Afriza เอ็น Arief

2
-1 สำหรับการคิดว่าคุณเท่ห์เพราะคุณใช้คำว่า "grok"
Carson63000


1

คุณต้องใช้เบาะแส รับทราบถึงสิ่งที่คุณต้องค้นหาและใช้ฟังก์ชันการค้นหาของสภาพแวดล้อมหรือ IDE ที่สามารถนำคุณไปยังส่วนที่ต้องการของรหัสที่คุณต้องการทำการเปลี่ยนแปลง

การอ่านโค้ดจาวา 14,000 บรรทัดนั้นไม่สมเหตุสมผล ฟังก์ชั่นการค้นหาคือเครื่องมือช่วยชีวิตคุณ


0

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


0

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

แน่นอนว่าในขณะที่คุณเข้าใจบิตแสดงความคิดเห็นในสิ่งที่คุณรู้ในเวลานั้นอาจจดบันทึกเกี่ยวกับสิ่งที่คุณไม่เข้าใจ

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


0

ฉันจะเริ่มต้นด้วยการใช้Leo Editorในโหมด @ shadowด้วยการใช้งานโหนดที่ลอกแบบมา สิ่งนี้ช่วยให้หนึ่งสามารถเพิ่มบันทึกย่อและข้อคิดเห็นสำหรับแต่ละส่วนของรหัสภายใต้การศึกษาโดยไม่ต้องเปลี่ยนรหัสและคำอธิบายประกอบจะอยู่ในบริบทเสมอถัดจากรหัสที่พูดถึง นี่คือตัวอย่างขั้นตอนการทำงานของเอกสาร:

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

เมื่อฉันสร้าง bug bug ขึ้นมาแล้วฉันจะจดจ่อที่โหนดนั้นและโหนดลูก ฉันสามารถตรวจสอบจุดบกพร่องบั๊กและลูก ๆ โดยไม่ต้องกระโดดไปรอบ ๆ โครงร่าง ทุกสิ่งที่ฉันต้องการอยู่ในที่เดียว เมื่อฉันได้รับการแก้ไขข้อผิดพลาดจริงฉันสามารถทำได้โดยการเปลี่ยนโคลน อีกครั้งฉันไม่ต้องกระโดดไปรอบ ๆ โครงร่าง ไม่สำคัญว่าโครงร่างทั้งหมดจะใหญ่หรือซับซ้อนเพียงใด: ฉันจัดการกับโหนดบั๊กและลูก ๆ ของมันเท่านั้น การโฟกัสที่แคบมากทำให้การแก้ไขข้อบกพร่องง่ายขึ้น


0

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


0

ก่อนที่คุณจะทำการทดสอบการเขียนอีกครั้ง มีการทดสอบมากมาย การทดสอบที่เฉพาะเจาะจงมาก ๆ กับโค้ดขนาดเล็กที่อย่างน้อยสามารถเรียกใช้ได้เพราะมันจะขึ้นอยู่กับการเขียนระเบียบที่สืบทอดของคุณ

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

เมื่อทำการทดสอบก่อนคุณจะไม่เสี่ยงต่อการเปลี่ยนแปลงบางอย่างในโค้ดที่มีเอฟเฟกต์แบบน็อคเอาท์ที่คุณไม่รู้ นอกจากนี้คุณยังจะต้องมีเครือข่ายความปลอดภัยเมื่อคุณทำการสร้างรหัสอีกครั้ง


0

ฉันใช้เครื่องมือเช่น doxygen เพื่อสร้างแผนภาพคลาสโดยรวมมากกว่าเพิ่มความเข้าใจในสิ่งที่แต่ละชั้นเรียนทำ

จากนั้นฉันก็รับบั๊กง่าย ๆ จากคิวบั๊ก (ก่อนที่ผู้จัดการของฉันจะกำหนดฮาร์ดไดรฟ์ให้ฉัน: P) จากนั้นเรียกใช้ฟังก์ชันการทำงานนั้นให้เป็นดีบั๊กเกอร์และพยายามสร้างกระแสข้อมูลคร่าวหรือรูปแบบการไหลของรหัส

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


0

เข้าหาข้อบกพร่องเล็กน้อยเช่น NullPointerException หลีกเลี่ยงสิ่งใดที่เกี่ยวกับการเกิดพร้อมกันในตอนแรกสิ่งใดก็ตามที่ธรรมชาติของมันจะเกี่ยวข้องกับการทำความเข้าใจกับรหัสจำนวนมากในครั้งเดียว

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


-2

โดยทั่วไปการกระทำในการเขียนโค้ดแบบคลีนควรเริ่มจากการออกแบบ หากเราเขียนโปรแกรมในภาษา OOP ด้วย UML ให้แชร์กับเพื่อนและเชื่อว่าการออกแบบนั้นไม่คลุมเครือ ไม่ว่าในกรณีใดนักพัฒนาเราควรได้รับความเชื่อมั่นว่าการออกแบบสามารถแก้ปัญหาได้และไม่ใช่ความคลุมเครือ

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

และฉันก็อ่านกระดาษสีขาวhttp://queue.acm.org/detail.cfm?id=2063168 ซึ่งพูดถึงสไตล์การเขียนโค้ดหรือวิธีที่เราสามารถใช้พื้นที่การเยื้องการแปรผันของตัวอักษรเป็น IDEs ส่วนใหญ่ที่เราสามารถใช้เขียน MUCH ได้ รหัสทำความสะอาดที่มนุษย์เราสามารถเข้าใจได้มากเท่าที่เครื่องทำ มันเน้นเพิ่มเติมเกี่ยวกับการเขียนรหัสความคิดเห็นฟรีเพื่อให้รหัสของเราจะปรากฏเป็นย่อหน้าเอง

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