ฉันเป็นวิศวกรซอฟต์แวร์รุ่น (ตอนนี้เป็นนักเรียนปีที่สองที่สำคัญใน CS) และฉันพยายามที่จะเข้าใจโปรแกรมของคนอื่น ฉันต้องการทราบว่าทักษะนี้ (หรือขาด) สามารถเป็นอุปสรรคสำหรับฉันและถ้าใช่แล้วฉันจะพัฒนาได้อย่างไร
ฉันเป็นวิศวกรซอฟต์แวร์รุ่น (ตอนนี้เป็นนักเรียนปีที่สองที่สำคัญใน CS) และฉันพยายามที่จะเข้าใจโปรแกรมของคนอื่น ฉันต้องการทราบว่าทักษะนี้ (หรือขาด) สามารถเป็นอุปสรรคสำหรับฉันและถ้าใช่แล้วฉันจะพัฒนาได้อย่างไร
คำตอบ:
วิธีที่คุณพัฒนามันคือการเขียนโค้ดของคุณเอง (มากมาย) และใช่การดิ้นรนอ่านรหัสของคนอื่น
แน่นอนปัญหาคือทุกคนไม่คิดว่าคุณทำ ฉันอยู่ในชั้นเรียน Java ปีแรกนานมาแล้วและเราได้รับมอบหมาย ตรงกันข้ามกับสิ่งที่ฉันเชื่อ (ซึ่งก็คือคำตอบจะมาบรรจบกันในการแก้ปัญหาร่วมกันสามหรือสี่) ทุกคนในชั้นเรียนมีวิธีแก้ปัญหาเฉพาะสำหรับการมอบหมาย
มันเป็นไปตามที่คุณควรจะอ่านรหัสที่ดี
นี่คือหนึ่งในเหตุผลที่รูปแบบการออกแบบได้รับความนิยมมากและทำไมคุณควรศึกษาพวกเขา รูปแบบการออกแบบให้คำศัพท์ทั่วไปสำหรับโปรแกรมเมอร์ในการสื่อสารและปรับความคิดของคุณสำหรับวิธี "ดีกว่า" เพื่อแก้ปัญหาการคำนวณ
คุณควรศึกษาอัลกอริทึมและโครงสร้างข้อมูล
ข้อสรุป: คุณควรพยายามเขียนโค้ดที่นักพัฒนาซอฟต์แวร์รายอื่นสามารถเข้าใจได้ง่าย
มันสำคัญมาก
เมื่อคุณสำเร็จการศึกษาและออกไปสู่โลกใบนี้โครงการส่วนใหญ่ที่คุณจะดำเนินการจะมีรหัสที่ผู้อื่นให้ไว้แล้ว โชคดีเป็นโปรแกรมเมอร์ที่ใช้เวลากับโครงการสีเขียว!
มันเป็นทักษะที่จะได้รับผ่านการปฏิบัติและความอดทนและในหลายกรณีก็ทักษะที่หลายคนไม่ได้จริงๆได้รับโอกาสมากที่จะทำงานในจนกระทั่งหลังจากที่พวกเขาจบการศึกษาและได้รับว่างานครั้งแรก ผ่อนคลาย!
(แม้ว่าโรงเรียนของคุณจะมีโปรแกรมสหศึกษาที่จะให้ประสบการณ์ก่อนสำเร็จการศึกษาในการทำงานในโครงการขนาดใหญ่ที่ส่วนใหญ่เขียนโดยคนอื่น ๆและคุณจะได้รับหน่วยกิตการศึกษาด้วย!
มันเป็นทักษะที่สำคัญขึ้นอยู่กับลักษณะเฉพาะของที่ทำงานของคุณมันอาจจะสำคัญกว่าการเขียนโค้ดเอง
ในขณะที่ทักษะอื่น ๆ การฝึกฝนทำให้สมบูรณ์แบบ! ลองอ่านรหัสของโปรแกรมเมอร์คนอื่นดีบั๊กมันและสิ่งที่ช่วยฉันได้เป็นการส่วนตัวมันคือการสร้างใหม่หรือปรับปรุงโค้ดขนาดเล็กและขยายจากที่นั่น
มีทักษะที่แตกต่างทั้งในการอ่านและการเขียนโค้ด
สำหรับการอ่านและการเขียน ใช่การอ่านเป็นสิ่งจำเป็น
Maxims เล็กน้อยที่ช่วยพวกเราหลายคนด้วย:
ตกลง. นั่นคือทั้งหมดที่ดี ตอนนี้ถึงสิ่งที่คุณอาจประสบอยู่
OMG, codebase ขนาดใหญ่ที่น่าประหลาดใจนี้มีซอร์สโค้ดและคลาสนับหมื่น ๆ บรรทัดที่มีความยาวหลายร้อยบรรทัดพร้อมการพึ่งพาบ้าและทุกครั้งที่ฉันพยายามทำตามสิ่งที่ฉันต้องรักษา 10 ระดับในหัวของฉัน ฯลฯ ฯลฯ
คุ้นเคยกับเสียง ? ใช่. หายใจเข้าลึก ๆ. ผ่อนคลาย. เป็นเรื่องปกติ มันเป็นสิ่งที่ระบบการผลิตทำขึ้นมา ผู้คนรอดชีวิต (และเฟื่องฟู) ในสถานการณ์ที่ไม่อาจเข้าใจได้เพราะ:
คำตอบส่วนใหญ่มุ่งเน้นไปที่ความสำคัญของการอ่านโค้ดเพื่อการพัฒนาตนเอง ฉันเห็นด้วยอย่างยิ่งกับและรับรอง
มีอีกมุมหนึ่งที่ต้องระวัง - แม้ว่าคุณจะเป็นอัจฉริยะที่ไม่สามารถได้รับประโยชน์จากการอ่านวิธีอื่น ๆ (เป็นไปไม่ได้ แต่เพื่อเหตุผลในการโต้แย้ง .... ) คุณจะต้องรู้วิธีการอ่านรหัสเพราะ แนวคิดที่โดยทั่วไปไม่มีอยู่ในการตั้งค่ามหาวิทยาลัย: โครงการอุตสาหกรรมส่วนใหญ่เป็นโครงการสีน้ำตาล
จำเป็นต้องอ่านโค้ดเพื่อทำความเข้าใจกับ codebase ที่มีอยู่และกระบวนการต่าง ๆ เป็นจริง เป็นไปได้เสมอที่จะถามคำถามนักพัฒนาซอฟต์แวร์เกี่ยวกับรหัสอื่น ๆ แต่สิ่งนี้อาจใช้เวลานานมาก คนออกจากเปลี่ยนโครงการหรือเวลาเพียงแค่ผ่านธรรมดา รายละเอียดในระดับต่ำจางหายไปจากหน่วยความจำและโปรแกรมเมอร์บำรุงรักษาใช้แพทช์ ในบางจุดไม่มีแหล่งความจริงเพียงแหล่งเดียวยกเว้นรหัส
สุขอนามัยของโค้ดที่ดีคำแนะนำเกี่ยวกับสไตล์รีวิวโค้ดและความช่วยเหลือด้านเอกสาร แต่ในบางจุดรหัสนั้นก็เป็นแหล่งของความจริงสำหรับสิ่งที่เกิดขึ้นและวิธีเดียวที่จะหาคำตอบได้คือไปด้วยตัวคุณเอง นอกเหนือจากการใช้ในการพัฒนาตนเองความสามารถในการอ่านรหัสเป็นทักษะที่แยกจากการเขียน
การทำความเข้าใจรหัสของผู้อื่นเป็นสิ่งที่คุณไม่สามารถหลบหนีได้เพราะคุณจะทำงานเป็นทีมได้แม้ว่าจะไม่ได้อยู่ในทีมก็ตามคุณจะต้องทำสิ่งต่าง ๆ ใน google และคุณจะต้องเข้าใจรหัสตัวอย่าง ดังนั้นใช่มันเป็นสิ่งที่ต้องทำ
สิ่งที่ฉันรู้สึกคือทุกคนได้รับความรู้สึกนั้นอาจจะน้อยกว่าคนอื่นโดยเฉพาะเมื่อเริ่มต้นคุณเข้าใจรหัสของคุณดีกว่ารหัสอื่น ๆ เนื่องจากคุณใช้เวลากับโค้ดของคุณมากกว่าโค้ดของคนอื่นเพราะคุณไม่เพียงอ่าน แต่เขียนและโครงสร้าง มันอยู่ในใจของคุณ หากคุณเริ่มใช้เวลามากขึ้นด้วยรหัสของผู้อื่นและก่อนอื่นลองดูว่ามีการใช้โครงสร้าง / โฟลว์แบบไหนสิ่งนี้จะทำให้คุณเข้าใจรหัสได้ดีขึ้น
เพื่อให้ประเด็นของฉันน่าเชื่อถือยิ่งขึ้นถ้าคุณมีรหัสที่คุณเขียนไปหนึ่งปีลองเข้าใจอีกครั้งและฉันสามารถบอกได้ว่าคุณจะใช้เวลามากขึ้น แต่น้อยกว่ารหัสอื่น ๆ เนื่องจากคุณมีความคิดเกี่ยวกับวิธีการจัดโครงสร้างของคุณ รหัส.
หวังว่าความช่วยเหลือนี้อย่าผิดหวังเพราะมันเป็นเรื่องปกติ ใช้เวลามากขึ้นกับรหัสและในที่สุดคุณจะได้รับมัน
ฉันเพิ่งได้รับโปรเจ็กต์ที่มีโค้ดประมาณ 100,000 บรรทัดที่เขียนโดยทีมในประเทศอื่นและฉันต้องทำการเปลี่ยนแปลงที่สำคัญมากในการคัดลอกโค้ดของพวกเขาในเดือนหน้าขณะที่ปล่อยโค้ดให้มาก เหมือนกันมากที่สุด
คุณบอกฉันว่าฉันสามารถทำงานของฉันได้โดยไม่ต้องอ่านรหัสของคนอื่นอย่างรวดเร็ว หากคุณไม่สามารถอ่านรหัสของคนอื่นได้แสดงว่าคุณติดอยู่อย่างสมบูรณ์ที่สุด