ลำดับที่ถูกต้องในการอ่านหนังสือเหล่านี้คืออะไร? [ปิด]


25

ฉันเป็นนักพัฒนารุ่นเยาว์ C # ฉันเรียนรู้ที่บ้านและตอนนี้ฉันได้งานแรกแล้ว :)

ฉันต้องการซื้อหนังสือเหล่านี้ แต่คำสั่งที่ถูกต้องในการอ่านหนังสือเหล่านี้คืออะไร?

รหัสเสร็จสมบูรณ์: คู่มือปฏิบัติของการสร้างซอฟต์แวร์

Clean Code: คู่มือของงานฝีมือซอฟต์แวร์ Agile

ในทางปฏิบัติโปรแกรมเมอร์


6
ไม่มีคำสั่งซื้อที่ถูกต้อง (ตามที่ @Oded พูด) คุณอาจจะอ่านพวกเขา (หรืออย่างน้อยบางส่วน) ซ้ำแล้วซ้ำอีก ดังนั้นเลือกหนึ่งแตกฝาครอบและแยกแยะ :)
โจเอล Etherton

8
ภูมิปัญญาดั้งเดิมกล่าวว่าคุณควรเริ่มที่หน้าแรกและจบที่หน้าสุดท้าย ;)
vaughandroid

1
ฉันไม่เห็นเหตุผลที่จะลงคะแนน
mmdemirbas

+1 ถึงหนังสือดีที่คัดสรรมาอย่างดีเพื่อการปรับปรุงต่อไป
EL Yusubov

นี่คืออีกหนึ่งคุณอาจต้องการ (หลายคนคิดว่ามันเป็นพระคัมภีร์ C # .NET): Pro C # 2010 และแพลตฟอร์ม. NET 4 รุ่นที่ห้า (พวกเขาอาจมีหนึ่งสำหรับ. NET 5 และ VS 2012 เร็ว ๆ นี้)
Linuxios

คำตอบ:


44

ไม่มีคำสั่ง "ถูกต้อง" ในการอ่านหนังสือเหล่านี้

พวกเขาแต่ละคนมุ่งเน้นไปที่แง่มุมต่าง ๆ ของวิศวกรรมซอฟต์แวร์

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

7
@Downvoter - สนใจที่จะแสดงความคิดเห็น?
Oded

12

ขอแสดงความยินดีกับการได้งานแรกของคุณ! และคุณได้เลือกหนังสือดีๆ!

หนังสือเหล่านี้เป็นผลงานชิ้นเอกสำหรับโปรแกรมเมอร์ทุกคนในการอ่านอย่างน้อยหนึ่งครั้ง

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

แก้ไข:ดังที่กล่าวไว้ในความคิดเห็นมันเป็นโซลูชั่นที่มีหลายเธรดเพื่อเพิ่มประสิทธิภาพ :)

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


8
ฉันคิดว่ามันสนุกว่าการแก้ปัญหาของโปรแกรมเมอร์ที่จะเป็นปัญหาในชีวิตจริงคือการใช้ multithreading :)
Rotem

@Remem - เหตุผลที่ง่ายและเหมือน regex เมื่อคุณเริ่มงานดังกล่าวปัญหาในชีวิตจริงของคุณจะเริ่มดูจริงจังน้อยลง ;-),
Joris Timmermans

4

ฉันเห็นด้วยกับคำตอบของ "ไม่มีคำสั่งที่ถูกต้อง" แต่ฉันจะเสนอการหมุนที่แตกต่างกัน ...

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


2

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

หากคุณต้องการได้มุมมองที่กว้างขึ้น (ขึ้นอยู่กับการพึ่งพาระหว่างโมดูล) ฉันยังสามารถแนะนำ code-casts ของเขาได้ที่: http://www.cleancoders.com/


1

ฉันอ่าน Pragmatic Programmer แล้วและฉันกำลังอ่าน "Code Complete"

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

"รหัสเสร็จสมบูรณ์" นานกว่าและละเอียดยิ่งขึ้น


1

ฉันกำลังอ่านหนังสือเหล่านี้ด้วยต่อไปนี้เป็นคำสั่งของฉัน:

  1. ทำความสะอาดรหัส
  2. โปรแกรมเชิงปฏิบัติ
  3. รหัสเสร็จสมบูรณ์

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

0

หนังสือเหล่านี้มีข้อดี

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

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

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

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

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

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

ข้อพิจารณาอีกอย่างหนึ่งที่ฉันคิดว่าอาจช่วยได้คือพิจารณาวันที่พิมพ์บริบทและเป้าหมายของหนังสือแต่ละเล่ม เก่าแก่ถึงใหม่ที่สุด: ในทางปฏิบัติปี 1999 โค้ดสมบูรณ์ 2nd เอ็ด 2004, รหัสสะอาด 2008 บริบท: ในทางปฏิบัติแสดงรายการ C, C ++, Java ในดัชนี แต่ไม่ใช่ C # รหัสที่สมบูรณ์คือ Microsoft Press, เขียนโดยคนที่แต่งตัวประหลาดอดีต Microsoft และเนื่องจากคุณกำลังทำงานกับภาษา Microsoft อาจมีความสัมพันธ์ที่นั่น แต่ดัชนีมีหนึ่งรายการสำหรับ C # และได้รับความรักน้อยกว่า Fortran ในหน้า 64

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

หนังสือแต่ละเล่มมีการแข่งขันกันในหัวข้อที่คล้ายคลึงกัน คุณอยากถามว่า "หนังสือเล่มใหม่ที่มีขอบเขตและกว้างกว่านี้กำลังแข่งขันกันในพื้นที่เดียวกัน"

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