ประสบการณ์ฝึกงานเชิงลบของฉันเป็นตัวแทนของโลกแห่งความจริงหรือไม่? [ปิด]


85

ฉันอยากรู้ว่าประสบการณ์ปัจจุบันของฉันในฐานะฝึกงานเป็นตัวแทนของอุตสาหกรรมจริงหรือไม่

ในฐานะพื้นหลังฉันผ่านส่วนที่ดีกว่าของวิชาเอกการคำนวณสองวิชาและวิชาเอกคณิตศาสตร์ที่มหาวิทยาลัยใหญ่ ฉันชอบทุกคลาสและชอบพวกเขาทั้งหมดดังนั้นฉันจึงอยากคิดว่าฉันไม่ได้เขียนโปรแกรมที่แย่มาก ฉันได้ฝึกงานกับ บริษัท ซอฟต์แวร์รายใหญ่แห่งหนึ่งและผ่านไปครึ่งทางตอนนี้ฉันรู้สึกตกใจกับคุณภาพของรหัสที่ต่ำมาก ความคิดเห็นไม่มีอยู่จริงมันเป็นรหัสสปาเก็ตตี้และทุกสิ่งที่ผิดก็ยิ่งแย่ลงไปอีก ฉันได้ทำการติว / ติวตันมาแล้วหลายครั้งฉันจึงคุ้นเคยกับการอ่านรหัสที่ไม่ดี แต่ผลิตภัณฑ์อุตสาหกรรมหลัก ๆ ที่ฉันได้เห็นนั้นมีทั้งหมด ฉันทำงานวันละ 10-12 ชั่วโมงและไม่เคยรู้สึกว่าฉันได้ทุกที่เพราะมัน ' ชั่วโมงที่ไม่มีที่สิ้นสุดของการพยายามหา API ที่ไม่มีเอกสารหรือพิจารณาพฤติกรรมของส่วนอื่น ๆ ของผลิตภัณฑ์ (ไม่มีเอกสารที่สมบูรณ์) ฉันออกจากงานที่เกลียดงานทุกวันจนถึงตอนนี้และฉันอยากรู้ว่านี่คือสิ่งที่จะเก็บไว้ตลอดชีวิตของฉันหรือไม่

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


22
เป็นเรื่องธรรมดามากกว่าที่ควรจะเป็น หลาย ๆ ที่ไม่รู้จะทำอะไรถูกต้อง
Wayne Molina

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

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

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

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

คำตอบ:


128

พวกเขาเรียกมันว่า Real World ™ด้วยเหตุผล

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

# 1 เขียนรหัส, # 2 ????, # 3 กำไร!

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

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

ทฤษฎี 0 - การปฏิบัติ∞

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

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

ในทางทฤษฎีไม่มีความแตกต่างระหว่างทฤษฎีและการปฏิบัติ ในทางปฏิบัติมี - โยคี Berra

ในทางทฤษฎีได้รับการออกแบบอย่างสมบูรณ์แบบที่บริสุทธิ์แน่นอนรหัสฐาน 100% ครอบคลุมรหัสควรประหยัดเงิน บริษัท ในทางปฏิบัติมันไม่ได้เข้ามาใกล้กับการส่งมอบสิ่งที่ใกล้เคียงกับผลตอบแทนการลงทุนที่ถูกต้อง

ฟิสิกส์ของวงจรชีวิตซอฟต์แวร์

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

ยิ่งคุณเริ่มต้นจากBBMยิ่งดีเท่าไหร่แต่ทุกระบบซอฟต์แวร์จะมีเวลาเพียงพอ คุณเข้าหาเอนโทรปี 100% เร็วแค่ไหนขึ้นอยู่กับว่าคุณเริ่มต้นจากที่ใดและคุณสะสมหนี้ทางเทคนิคได้เร็วแค่ไหนและดอกเบี้ยสูงแค่ไหน

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

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

ดีพอคือดีพอ

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

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

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

พวกเขาไม่ได้สอนเกี่ยวกับ BBM เท่าที่ฉันรู้ฉันไม่เคยพบผู้สำเร็จการศึกษาระดับ CS ที่เพิ่งรู้ว่ามันคืออะไรทำไมมันถึงเกิดขึ้น

นั่นคือเหตุผลที่Good Enough เพียงพอ Good Enoughอะไรก็ตามไม่มากก็น้อย

ซอฟต์แวร์ Slumlords

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

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

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

Microsoft เป็นผู้นำด้านซอฟต์แวร์ที่ประสบความสำเร็จมากที่สุด Windows ไม่ได้เริ่มรับการเขียนพื้นฐานที่สำคัญจนกระทั่งเมื่อไม่นานมานี้ และพวกเขายังไม่ได้ทิ้งรหัสดั้งเดิมทั้งหมดจากเคอร์เนล มันไม่สมเหตุสมผลกับธุรกิจของพวกเขาผู้คนยินดีที่จะยอมรับความคาดหวังต่ำที่พวกเขาตั้งไว้ในทศวรรษที่ผ่านมา

การทำนาย

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

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

ความก้าวหน้าและความหวัง

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

พวกเขายอมรับเอนโทรปีที่ได้รับการแนะนำโดยการไม่มีเวลาหรือความต้องการที่เปลี่ยนแปลงเปลี่ยนพนักงานและความมีชีวิตชีวาของระบบซอฟต์แวร์ที่มีแนวคิดเรื่องหนี้สินทางเทคนิค

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

Agile เมื่อทำอย่างถูกต้องช่วยจัดการเอนโทรปีช้าลงติดตามมันวัดและจัดการกับมันในลักษณะที่วางแผนไว้ มันจะไม่หยุดมัน!

การตัดสินใจอาชีพ

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


2
ฉันไม่มีปัญหาทางปรัชญากับมันมันน่าหงุดหงิดที่จะไปไหนมาไหน แต่นี่ก็สมเหตุสมผลแล้ว รหัสจำนวนมากที่ฉันติดต่อด้วยอายุเกือบ 20 ปีพร้อมความสามารถในการทำงานร่วมกัน 3 ระดับ ...
tryAtAnAndAnonymity

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

22
สนุกพอดูเหมือนว่า บริษัท ที่ฉันทำงานจะได้รับ ROI จากการครอบคลุมรหัสที่สูงมากการตรวจสอบรหัสที่เข้มงวดการออกแบบ 30 นาทีทุกวัน ฯลฯ ในการเริ่มต้นการพัฒนาอาจช้าลงเล็กน้อย แต่กลับมาเป็นสิบเท่า ขั้นตอนต่อมาเมื่อโค้ดเบสเป็นอย่างอื่น
Max

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

27
-1 ในขณะที่บางจุดถูกต้องมีข้อผิดพลาดมากมาย ตัวอย่างเช่นสิ่งที่เกี่ยวกับ "การออกแบบที่สะอาดในทางทฤษฎีอย่างสมบูรณ์" เป็นคนฟางที่ชัดเจน การวางแผนที่จะเขียนซ้ำมากกว่า refactor ไม่ใช่ความคิดที่ดีและแม้แต่คนในวงการก็เข้าใจสิ่งนี้ และรหัสฐานไม่เน่าอย่างหลีกเลี่ยงไม่พวกเขาเน่าเพราะขาดการบำรุงรักษา
sleske

44

ฉันอยากรู้ว่าประสบการณ์ปัจจุบันของฉันในฐานะฝึกงานเป็นตัวแทนของอุตสาหกรรมจริงหรือไม่

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

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

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

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

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

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

ธุรกิจไม่สนใจเวลาพิเศษนี้หรือไม่ก็ยอมรับได้

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

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

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

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

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

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

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


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

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

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

5
+1 สำหรับ "นักพัฒนาที่ดีต้องรู้เมื่อจะขอความช่วยเหลือจากเพื่อนร่วมทีมที่ติดตามพวกเขา" ฉันทำงานใน บริษัท เล็ก ๆ และมีเพื่อนร่วมทีมเพียง 1 คนที่ค่อนข้างด้อยกว่าสำหรับฉันในการเขียนโปรแกรม แต่เขามักจะมีความชัดเจนในประเด็นที่ฉันติดอยู่ ถาม!
TecBrat

2
@Jodrell การเปลี่ยนรหัส "ทำงาน" เป็นความเสี่ยงที่ยิ่งใหญ่ "การทำความสะอาด" เป็นการเปลี่ยนแปลงที่มีความตั้งใจดี แต่ถนนสู่นรกนั้นปูด้วยเจตนาดี มีเจ้าของผลิตภัณฑ์ / ผู้จัดการโครงการเพียงไม่กี่คนที่เห็นด้วยกับการเปลี่ยนแปลงเพียงเพื่อความเปลี่ยนแปลงและมีความเสี่ยงมากเกินไป

25

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

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

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

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

เช่นเดียวกับ Drekka สิ่งนี้เริ่มที่จะฟังดูน่าหดหู่แล้วดังนั้นฉันจึงลองเปลี่ยนมุมมองให้เป็นบวกมากกว่านี้เพราะมันเป็นเรื่องจริงที่:

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

ในที่สุดแอนโธนีเบลคชี้ให้เห็นว่ามี 3 ปัจจัยเสมอ - เวลาต้นทุนและคุณภาพ
ฉันชอบการแสดงออกที่เกี่ยวข้อง: "เลือก 2" !


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

6
คุณโชคดีถ้าคุณได้รับ"เลือก 2"เนื่องจาก"เลือก 1"มักจะเป็นบรรทัดฐาน

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

กูบิฉันไม่คิดว่ามันเป็นกฎที่ดี เราต้องคำนึงถึงสิ่งที่เกิดขึ้น รหัสที่ช้ากว่าอาจมีการทดสอบมากมายเช่น รหัสด่วนสามารถ (ไม่เสมอไป) ปวดหัวบำรุงรักษาที่เต็มไป
Michael Durrant

นอกจากนี้ 'เฉลี่ย dev' เป็นอัตนัย kinda ... ;)
Michael Durrant

16

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

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

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

คุณต้องคำนึงถึงความจริงที่ว่า บริษัท ส่วนใหญ่จะให้การฝึกงานที่เส็งเคร็ง ความสนุกมาหลังจากที่คุณได้ทำสองสิ่ง: 1 - พิสูจน์ตัวเองและ 2 - ทำเวลาในการทำงานกับสิ่งอื่นนอกเหนือจากการแก้ไขข้อผิดพลาดของผู้อื่น คุณต้องแสดงความสามารถและความคิดริเริ่ม

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

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

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

ขออภัยถ้าเสียงนี้น่าหดหู่ ฉันแน่ใจว่าคนอื่นสามารถทำสิ่งที่เป็นบวกมากขึ้น :-)


ไม่รู้สึกหดหู่ใจเลยที่จะรู้ว่าประสบการณ์นี้ไม่สามารถหลีกเลี่ยงได้และถาวร!
tryAtAnonymity

8
เริ่มต้นเป็นเพียงการสร้างรหัสที่จะไม่ถือว่าเป็นอึเลย ...

จริง :-) และฉันยังทำงานตั้งแต่เริ่มต้นด้วยคนโง่ที่ไร้ความสามารถที่ฉันกล่าวถึงซึ่งสร้างรหัสอึมากมายให้เริ่มด้วย
drekka

12

มีคำตอบที่ยอดเยี่ยมที่นี่ แต่ให้ฉันเพิ่มบิตของฉัน

ยินดีต้อนรับสู่โลกแห่งความจริง - น่าเสียดายที่นี่เป็นเรื่องธรรมดามาก

อ้างอิงจากแผนภาพด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

ด้วยซอฟต์แวร์องค์กรคุณสามารถเลือกได้ 2 ข้อขึ้นไปและคุณต้องเสียสละ

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


17
ที่จริงแล้วคุณจะโชคดีที่ได้เลือก 2 สถานที่ส่วนใหญ่เพียงเลือก 1
softveda

1
ตามความเป็นจริงมีมากกว่าสามอย่างดังกล่าว - นอกจากนี้ยังมีขอบเขต (คุณสมบัติที่รู้จักกัน) ความเข้ากันได้ความปลอดภัยความสามารถในการใช้งานเพียงเพื่อบอกชื่อไม่กี่ เช่นเคยการได้รับผลลัพธ์ที่ดีคือการเลือกประนีประนอมที่ดีที่สุด (เช่นเดียวกับในชีวิต ... )
sleske

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

1
@AnthonyBlake: ใช่ฉันรู้ ฉันไม่ต้องการที่จะทำลายตัวอย่างที่ดีขอโทษ :-)
sleske

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

6

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

เพื่อสรุปสิ่งต่าง ๆ ให้สังเกตสัญญาณบอกเล่า

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

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


4

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

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

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

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

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

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

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


2

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


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

1
ยังมีมาตรฐาน 50-60 ชั่วโมงต่อสัปดาห์ในการพัฒนาซอฟต์แวร์หรือไม่
พยายามAtAnonymity

2
เฉพาะใน บริษัท ที่ไม่ดี
Wayne Molina

2
ไม่เลยและนั่นเป็นเหตุผลว่าทำไมนี่จึงเป็นคำถาม "ขึ้นอยู่กับ" ที่เพิ่งเริ่มต้นและไม่ชอบ? แน่ใจ บวกมากขึ้น! ที่อุดมศึกษาหรือ Governmnet ไม่มี ในการให้คำปรึกษาใช่ บวกมากขึ้น พวกเขาต่างกันในด้านอื่น ๆ และผลประโยชน์และแน่นอน $
Michael Durrant

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

2

พูดไม่ได้จริงๆสำหรับทุกคน แต่นี่คือสิ่งที่ฉันพูดได้

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

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

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

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

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

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


2

ฉันจะพยายามสรุปคำตอบสำหรับคำถามนี้ด้วยคำพูดง่าย ๆ :

All code turns to crap given enough time and hands.

ที่เหลือเป็นเพียงเรื่องราว ...


และรหัสที่ใช้งานได้ไม่ว่าจะน่าเกลียดแค่ไหนนั้นจะยังคงอยู่ในช่วงการผลิตนานกว่าตัวเข้ารหัสเดิมที่เคยเชื่อ
Jennifer S

2

คุณภาพของรหัสขึ้นอยู่กับสองปัจจัยหลัก

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

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

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


2

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

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


1

ฉันฝึกงานกับ บริษัท ซอฟต์แวร์รายใหญ่แห่งหนึ่ง

ไม่ใช่ทุก บริษัท ที่เหมือนกัน คุณจะพบทีมเส็งเคร็งและฐานรหัสซอฟต์แวร์เส็งเคร็งใน บริษัท ส่วนใหญ่ แต่คุณสามารถค้นหาทีมที่ยอดเยี่ยมและฐานรหัสที่ยอดเยี่ยม

ฉันคิดว่าพวกที่ Solaris ทำคำอธิบายที่ดีและซื่อสัตย์มากเกี่ยวกับประเภทของรหัสฐานที่คุณจะพบใน บริษัท ใหญ่ ๆ : http://hub.opensolaris.org/bin/view/Community+Group+on/dev_solaris

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

ไม่ฉันได้รับการเข้ารหัสมานานกว่า 15 ปีและฉันยังคงรักมัน

นั่นไม่ได้หมายความว่าทุกอย่างสมบูรณ์แบบ ฉันเคยเห็นบางรหัสฐานที่น่ากลัวและบางส่วนที่ดี เคล็ดลับคือการหาสถานที่ที่เหมาะสมสำหรับคุณ

บริษัท ขนาดใหญ่นั้นแตกต่างจาก บริษัท เล็กมาก ภายในทีม บริษัท เดียวกันบางครั้งก็เป็นทีมที่มีรูปแบบที่แตกต่างกันมาก B. ค้นหาคนที่มียอดเงินที่เหมาะสมสำหรับคุณ (เช่นโครงการที่ท้าทายวัฒนธรรมที่คุณสนุกจ่ายดีและอื่น ๆ )

โชคดี!


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

1

ฉันเห็นสิ่งที่คล้ายกันเป็นคุณ ฉันมีสองกรณีประสบการณ์เมื่อมันเกิดขึ้น

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

มันเป็นเรื่องน่าเศร้า แต่นั่นเป็นวิธีการที่บางแห่ง

ดูว่าคุณสามารถทำการเปลี่ยนแปลงเล็กน้อยเพื่อสิ่งที่ดีกว่าคุ้นเคยกับมันหรือเปลี่ยนเป็น บริษัท อื่นและขอให้คัดกรองโค้ดในการสัมภาษณ์ :-)


1

นี่จะเป็นคำตอบสั้น ๆ

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

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

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

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


1

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

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

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

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

และแน่นอนว่าเมื่อทำงานกับเครื่องมือขององค์กรที่ได้รับความนิยมมากขึ้นคุณจะพบว่าระดับความสามารถของคนมัธยฐานนั้นค่อนข้างจะแย่ หากทักษะหลักของคุณเป็นการผสมผสานระหว่าง Java และ C # ให้ขยายขอบเขตของคุณออกไปเล็กน้อย คุณอาจพบช่องที่มีความสุขมากกว่าในการเขียนระดับกลาง Erlang หรือ Python หรือ: o JavaScript

และอย่าให้ใครบอกคุณที่แตกต่างกัน คุณอาจไม่มีทางเลือกในเรื่องวิธีดำเนินการ แต่รหัส crap คือ! @ # $ ing แพง


-2

คำถามของคุณมุ่งเน้นไปที่การฝึกงาน ฉันไม่เคยเขียนโปรแกรม แต่ฝึกงานที่สถานีวิทยุไม่สามารถใช้งานได้ที่นี่

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

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

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

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

โชคดี.

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