ฉันคิดว่านี่เป็นสัญญาณที่ดีมากสำหรับทักษะของคุณ มันเป็นเรื่องธรรมดามากสำหรับคนที่มีปัญหาในการออกแบบ 'ดีกว่า' ในทีมเพื่อที่จะไม่สามารถรับรู้ได้อย่างสมบูรณ์ว่าทำไมการออกแบบอื่นถึงดีกว่า
คุณมีจุดแข็งสองจุดที่ยอดเยี่ยมมาก
- คุณสามารถประเมินการออกแบบของคุณกับผู้อื่นอย่างเป็นกลาง
- คุณมีความปรารถนาและความพยายามที่จะทำให้การออกแบบของคุณดีที่สุด
คุณเพียงสองสามปีและมีทางยาวไป แต่ด้วยทัศนคตินี้คุณจะไปถึงที่นั่นแน่นอนอย่าเพิ่งยอมแพ้ เราทุกคนต่างก็จัดการกับสภาพจิตใจเช่นนี้ บ่อยครั้งที่ฉันได้รับโอกาสที่ฉันต้องการเสียบหลักการออกแบบ (ไม่เหมือนกับรูปแบบการออกแบบ) และฉันคิดว่านี่เป็นตัวอย่างที่สมบูรณ์แบบที่พวกเขาเข้ามามีประโยชน์ ศึกษาและฝึกฝนการประยุกต์ใช้ในการออกแบบของคุณก่อนที่คุณจะรู้ว่ามันได้ก้าวไปอีกขั้นในการนี้
ในตอนท้ายของวันจำได้ว่าการออกแบบเป็นเรื่องยาก เรากำลังจัดการกับ abstractions ระดับสูงที่ซับซ้อนทุกวันเพื่อสร้างสิ่งเหล่านี้จากอากาศบางให้ทำงานได้ดีและเพื่อนร่วมงานใช้งานง่ายเป็นงานที่ยากมาก มันต้องใช้เวลาปฏิบัติสำหรับปีที่ผ่านมา
ดังนั้นคุณต้องจำไว้ว่ามีคนมากมายที่ไม่สามารถประเมินการออกแบบสองแบบได้และจำได้ดีกว่าแบบอื่นคุณคิดว่าพวกเขาเข้ากันได้ดีกับการออกแบบที่ดีหรือไม่?
แก้ไข:
'เคล็ดลับที่ไม่ดีหลังจากได้รับหลักการและการฝึกฝนการประยุกต์ใช้ของพวกเขาเล็กน้อยฉันคิดว่ามีอีกหนึ่งอัญมณีจากคำถามอื่นที่นี่ที่พูดถึงคุณค่าของการศึกษาภาษาที่หลากหลายซึ่งมีวัตถุประสงค์และกฎที่แตกต่างกัน:
ในอุดมคติแล้วโปรแกรมเมอร์ทุกคนควรรู้ภาษาจากแต่ละชั้นเรียน คุณเรียนรู้อะไรได้บ้าง:
- ภาษาหลัก OOP แบบคงที่พิมพ์: Java, C # (ส่วนใหญ่ใช้ในซอฟต์แวร์องค์กร) และ C ++ (การเขียนโปรแกรมระบบและแอปพลิเคชันเดสก์ท็อปที่ซับซ้อน)
- ภาษา OOP ที่ใช้ต้นแบบ: Javascript (การเขียนโปรแกรมเว็บฝั่งไคลเอ็นต์)
- ภาษาขั้นตอน: C (ซอฟต์แวร์แบบฝังตัวและการเขียนโปรแกรมระบบ)
- ภาษาที่ใช้งานได้: Haskell, ML หรือ Lisp (ภาษาที่ใช้งานได้ดีสำหรับซอฟต์แวร์ที่มีความขนานสูง)
ภาษาการเขียนโปรแกรมเชิงตรรกะ (Prolog) อาจไม่เป็นประโยชน์ในอุตสาหกรรมส่วนใหญ่จะใช้ในการวิจัยใน AI
สิ่งนี้จะช่วยขยายความคิดที่หลากหลายที่นึกถึงเมื่อพยายามออกแบบวิธีแก้ปัญหา