ที่ด้านล่างมีการอัปเดตบางอย่างเกี่ยวกับวิธีนี้ฉันได้รับทุกไตรมาสของปีหรือดังนั้นฉันคิดว่าพวกเขามีค่า
การตั้งชื่อที่ดี หรือถ้าเป็นรหัสของคนอื่นพยายามกำหนดชื่อ / ความรับผิดชอบที่ดีโดยอ้างอิงจากชื่อที่ไม่ดีในคลาส / ฟังก์ชั่นของระบบนั้น ๆ เมื่อใช้งานแล้วการใช้งานในระดับต่ำจะง่ายต่อการจดจำ
นั่นคือทั้งหมดที่ฉันมี มีนักปราชญ์จำนวนมากในไซต์นี้ที่จะสาบานต่อพระเจ้าว่ารู้รูปแบบหรือวัตถุประเภทใด แต่การตั้งชื่อที่ดีจะนำคุณไปไกล ฉันทำได้ดีกว่าด้วยตัวเองโดยการสร้างรหัสที่ย่อ / ชื่อที่ดี / ดี decoupled และมันไม่เคยกลับมากัดฉันแม้ว่ารหัสของฉันจะถูกใช้ในหลาย ๆ ที่โดยผู้คนจำนวนมาก แต่ สิ่งหนึ่งที่ฉันทำถูกต้องเสียเวลามากในการตั้งชื่อที่ดีความคิดเห็นที่ดีและแผนงานที่อธิบายการไหลของรหัสของฉัน การใช้งานในระดับต่ำจำเป็นต้องเข้าใจหากคุณต้องการขยายโค้ดของฉันอย่างลึกซึ้ง โค้ดที่ถูกเขียนอย่างดีสามารถขยายได้ในวิธีที่เหมาะสมดังนั้นจึงเป็นเรื่องที่ใครบางคนหรือคุณไม่เข้าใจ / จำการใช้งานในระดับต่ำ
หากคุณสนใจในข้อพิพาทเล็กน้อยที่ผู้คนในสาขาดั้งเดิมของฉันและฉันรู้ว่าเป็นความจริง แต่ถ้าคุณฟังสิ่งที่เขียนที่นี่คุณจะเรียนรู้ที่จะเห็นด้วยและไม่เห็นด้วยกับคำตอบนี้ อ่านข้างหน้า:
แต่มีอีกปัญหาหนึ่งที่นี่ - purists คุณจะได้ยินคำตอบที่ดีและอุดมการณ์ที่สมเหตุสมผลและสมเหตุสมผลโดยแท้จริงแล้วไม่มีอะไรผิดปกติกับพวกเขา แต่คุณไม่จำเป็นต้องติดตามพวกเขาในความเป็นจริงพวกเขาอาจเล่นเป็นข้อเสียของคุณ
เพื่อนของฉันทำงานกับระบบขนาดใหญ่และพวกเขาแค่หัวเราะคนที่ใส่ใจเรื่องการประชุมและรูปแบบมากเกินไปและด้วยเหตุผลที่ดีฉันก็ทำได้เช่นกัน - ฉันสามารถหาเหตุผลได้จากการวิเคราะห์ข้อมูลหลักของฉัน เนื่องจากฉันไม่ใช่นักพัฒนาที่มีประสบการณ์: สิ่งที่คุณคิดว่าสำคัญไม่สำคัญและมีความสัมพันธ์กับอัตตาของคุณในแง่นี้มากบ่อยครั้งที่บุคคลเนื่องจากอัตตาของเขาจะได้รับความรู้ว่าเขามักเข้าใจผิดเนื่องจากความเอนเอียงของเขาซึ่งตอนนี้ถูก inforced โดยผู้มีอำนาจที่เขาคิดว่าเพิ่งพูดว่า "สิ่งเดียวกันกับที่ฉันทำ" นี่คือกับดักที่รู้จักกันดีซึ่งคุณไม่ควรพลาด นี่ไม่ได้หมายความว่าเขาไม่ได้ใช้อย่างถูกต้องหรือเพื่อสิ่งที่ดีกว่า แต่บ่อยครั้งสิ่งที่คนเหล่านี้จะทำคือสัญญาว่าสิ่งที่พวกเขากำลังพูดคือรางวัลทองคำ
แล้วคุณจะทำอย่างไร
อธิบายรหัสของคุณกับเพื่อนร่วมงานและถามพวกเขาว่ามันสมเหตุสมผลหรือไม่จากมุมมองระดับสูง
นั่นคือทั้งหมดที่มีความสำคัญ. แน่นอนว่าทุกคนที่อ่านรหัสของคนอื่นจะมีเฟียสต้าแท็บ alt เพื่อดูการใช้งานบางอย่าง แต่ก็ไม่สำคัญว่าใครก็ตามที่อ่านรหัสของคุณมีความเข้าใจในระดับสูงของระบบของคุณและเข้าใจว่า "(อีกครั้งโดยไม่จำเป็นต้องรู้อย่างเต็มที่" สิ่งที่เกิดขึ้น ") จากนั้นคุณก็เป็นทอง
นี่ไม่ใช่ฉันกำลังบอกว่าไปข้างหน้าและเขียนรหัสอึที่ไม่แสดงหรือไม่เคารพอะไร แต่สิ่งที่ฉันพูดคือ:
1) โอเคที่จะลืม ทันเวลาคุณจะได้รับรหัสการอ่านที่ดีขึ้น หากรหัสที่คุณกำลังอ่านนั้นต้องการให้คุณรู้ว่าการใช้งานในระดับต่ำอยู่ในระดับที่ดีแสดงว่ามันเป็นโค้ดที่ไม่ดีและมันก็เป็นสิ่งที่ฉันพูดไว้ก่อนหน้านี้: เพื่อนร่วมงานเข้าใจคุณหรือไม่
2) โลกเต็มไปด้วยผู้คนที่ฉลาดมาก ๆ ที่ไม่ฉลาดมาก พวกเขามักจะมีอารมณ์แปรปรวนบ่อยครั้งและพวกเขามีแนวโน้มที่จะเสริมอคติจากกองกำลังภายนอก พวกเขาเก่งมากในสิ่งที่พวกเขาทำ แต่สิ่งที่พวกเขาในฐานะนักแสดงของการลืมข้อมูลคือ: ความคิด / ข้อมูลแม้ว่าจะได้รับการสนับสนุนจาก "ตรรกะ" มีบริบทของคนที่ส่งพวกเขาซึ่งมีความสำคัญในการทำความเข้าใจว่า ข้อมูลก็มีประโยชน์สำหรับคุณเช่นกัน อะไรที่สมเหตุสมผลสำหรับคุณที่จะทำให้คนอื่นรู้สึกและพวกเขาก็ชอบ แต่ไม่ควรนำข้อมูลมาใช้อย่างเด็ดขาดและควรพิจารณาอีกครั้งหรืออย่างน้อยก็พยายามที่จะเข้าใจบริบทที่มาจากและตรวจสอบกับเขา บริบทของตัวเองเพื่อดูว่ามันตรงกับ มันก็เหมือนกับมหาเศรษฐีที่ให้เรา "บิตของความรู้เหล่านี้เพื่อก้าวไปข้างหน้า"
กล่าวโดยย่อ: เขียนโค้ดที่เข้าใจได้และรู้ว่ามันยังเป็นที่ถกเถียงกันอยู่ที่เราต้องการรูปแบบ / คลาสและโรงกลั่นตามที่บางคนพูด มีคนฉลาดทั้งสองด้านของการโต้แย้งและควรเสริมความคิดในการทำสิ่งใดก็ตามที่เหมาะกับทีมของคุณในลักษณะที่สมเหตุสมผล - อย่ายึดติดกับรายละเอียดเล็ก ๆ น้อย ๆ ที่ไม่สำคัญคุณจะเข้าใจพวกเขา ต่อมาจำไว้ว่าคุณอาศัยอยู่ในโลกที่มีการแข่งขันสูงซึ่งช่วงเวลาเป็นสิ่งที่สำคัญที่สุด:
เวลาในการประสบความสำเร็จที่เพิ่งเริ่มต้น
จัดสรรเวลาและทรัพยากรของคุณอย่างมีความหมายโลภ
นี่คือการแก้ไข 6 เดือนต่อมา:
มันเป็นการเดินทางที่บ้า ฉันไม่เคยคิดเลยว่าเพียงแค่การแยก / การตั้งชื่อที่ดีและเอกสารสามารถช่วยให้คุณสามารถเสียบอะไรก็ได้ใน & นอก codebase ของคุณ ฉันต้องเขียนโค้ดใหม่อีกครั้งเพื่อให้เร็วขึ้นด้วยการเปลี่ยนแปลงใหม่และฉันก็ทำได้ดีใน 2-3 วัน ฉันสามารถพูดได้อย่างปลอดภัยว่าฉันไม่ได้ติดตาม SOLID ทุกที่เนื่องจากขาดความรู้หรือแนวปฏิบัติที่ดีที่สุดและฉันสามารถบอกได้ว่าพวกเขามีหนี้สินทางเทคนิค แต่ไม่ใช่มาก แยกชื่อดี & เอกสารมันจะช่วยให้คุณสามารถเปลี่ยนรหัสได้ในเวลาไม่นานเมื่อคุณรู้ว่าคุณเป็นใบ้ได้อย่างไร
อย่าเข้าใจฉันผิด: ถ้าคุณเขียนโค้ดของคุณอย่างแน่นหนาคุณจะเจ็บปวดมากไม่ว่าคุณจะเกลียด SOLID หรือแม้แต่การทำความเข้าใจและการใช้มันในระดับฐานช่วยให้สามารถแยกแยะได้ดีซึ่งโดยสุจริตคือ สิ่งเดียวที่ OOP ช่วยได้จริงๆ OOP นั้นควรจะเกี่ยวกับการนำโค้ดกลับมาใช้ใหม่และในขณะที่เกิดขึ้นที่นี่และที่นั่นคุณจะไม่ได้รับประโยชน์จากวัตถุที่คุณสร้างอีกมากดังนั้นให้มุ่งเน้นไปที่การทำให้ระบบของคุณแยกจากกัน เมื่อคุณครบกำหนดและสมมติว่าลุงบ๊อบมาและเป็นผู้นำโครงการของคุณเขาจะพูดว่า "โอเคนี่มันโง่เหมือนนรก แต่อย่างน้อยทุกอย่างก็แยกกันมีชื่อ & บันทึกไว้อย่างน้อยฉันก็รู้ว่านี่คืออะไรเกี่ยวกับ " (ฉันหวังว่า). สำหรับฉันมันใช้งานได้ LOC ของฉันมีการเปลี่ยนแปลงอยู่ตลอดเวลา แต่ในขณะที่เขียนมันคือโค้ด 110k บรรทัดโค้ดประสิทธิภาพ 110k ที่ทำงานได้อย่างกลมกลืนสำหรับคนเพียงคนเดียว
นี่คือการแก้ไข 3 เดือนต่อมาในรหัส 8 เดือนฉันจะทำการเปลี่ยนโครงสร้าง:
ทุกอย่างสมเหตุสมผล ตอนนี้ฉันสามารถทำสิ่งที่ฉันเขียนย้อนกลับไปในแนวความคิดและ reforge รหัสใหม่ด้วยความคิดใหม่เพราะฉันเข้าใจอย่างสมบูรณ์ว่าเกิดอะไรขึ้นและทำไมมันทำงานได้เพราะแผนงาน / การตั้งชื่อที่ดีและความคิดเห็น ฉันเขียนโค้ดมานานแล้วว่าฉันไม่สนใจการตั้งชื่อได้ดีและมันก็เป็นความเจ็บปวดที่ต้องทำ ตอนนี้ฉันกำลังคิดว่าขั้นตอนต่อไปของการอธิบายรหัสของฉันอาจเป็นอย่างไร