สร้างโปรแกรมที่สมบูรณ์หรือไม่


15

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

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

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

นอกจากนี้เท่าที่การพัฒนาเว็บดำเนินการเป็นกระบวนการอะไร เป็นอะไรที่เหมือนกับ Facebook หรือ Groupon ที่เขียนด้วยกรอบงาน (เช่น CodeIgniter หรือ Zend สำหรับ PHP) หรือพวกเขาพัฒนากรอบของตัวเอง? ฉันไม่ได้ถามว่าจะทำอย่างไรกับความคิดที่ดี แต่จะนำความคิดที่ยอดเยี่ยมมาใช้อย่างมีประสิทธิภาพได้อย่างไร ไม่มีใครมีคำแนะนำ?

ฉันได้อ่านหนังสือสองเล่มเกี่ยวกับ C และ C ++ (โดยหลักคือภาษาการเขียนโปรแกรม C และภาษาการเขียนโปรแกรม C ++) และนำวิทยาศาสตร์คอมพิวเตอร์ AP (รวมทั้งอ่านหนังสือเพิ่มเติมสองสามเล่มเกี่ยวกับ Java และ OOP) ฉันยังได้อ่านบทช่วยสอนเกี่ยวกับ PHP (และ CodeIgniter) และ Python ด้วย แต่ฉันยังอยู่ในโรงเรียนมัธยมและฉันก็ยังไม่แก่พอที่จะฝึกงานในอีกไม่กี่เดือน


3
Reading books, watching videos, and reviewing tutorials is all very easy. ใช่การอ่านเป็นเรื่องง่ายการเข้าใจพวกเขาเป็นส่วนที่ยาก
yannis

@ Yanis Rizos จริงๆแล้วฉันเข้าใจพวกเขาและฉันพูดถึงมันในประโยคหลังจากนั้น
บ๊อบ

@ บ๊อบเรียนรู้เนื้อหาและเข้าใจจริงๆแล้วมันแตกต่างกันมากจริง ๆ ข้อที่สองยากกว่ามาก คำจำกัดความส่วนบุคคลของฉันของ "ความเข้าใจ" คือเมื่อฉันสามารถอธิบายหัวข้อในมือในแบบที่สิบปีจะ undestand ด่วนอธิบาย "ส่วนต่อประสาน" :)
Thanos Papathanasiou

1
@ThanosPapathanasiou ซอฟต์แวร์ฮาร์ดแวร์หรือแนวคิด OO หรือไม่ :)
yannis

2
@YannisRizos นั่นคือความงามพร้อมกับอธิบายสิ่งต่าง ๆ เช่นคุณอายุสิบขวบคุณจะถูกบังคับให้ใช้ตัวอย่างง่าย ๆ ที่จะสรุปทั้งสาม :)
Thanos Papathanasiou

คำตอบ:


8

มีความแตกต่างระหว่างเพียงรู้วิธีการเขียนโปรแกรมและรู้วิธีการจัดโครงสร้างโปรแกรม (สถาปัตยกรรมซอฟต์แวร์)

หนังสือแบบง่าย ๆ เกี่ยวกับภาษาการเขียนโปรแกรมเฉพาะจะสอนเครื่องมือที่คุณสามารถใช้เพื่อตั้งค่าสถาปัตยกรรมของโปรแกรม

นอกจากนี้ยังมีหนังสือที่ช่วยให้คุณมีสถาปัตยกรรมซอฟต์แวร์ หัวข้อที่คุณควรมองหาคือรูปแบบการออกแบบ , นามธรรมซอฟต์แวร์ , สถาปัตยกรรมซอฟต์แวร์ / การออกแบบและอื่น ๆ อีกมากมาย ... ( รูปแบบการออกแบบครั้งแรกที่หัวเป็นที่เปิดตาที่แท้จริงสำหรับฉัน)

สำหรับชุดทรัพยากรที่กว้างขึ้นคำถามนี้อาจทำให้คุณสนใจ

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


6

มันเป็นปัญหาที่พบได้ทั่วไปในการพัฒนาเกม (อินดี้): ทำอย่างไรจึงจะเสร็จ

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

... สิ่งที่สำคัญที่ทำให้ "จบ" ที่เป็นไปได้คือการวัตถุประสงค์ที่ตั้ง

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

เขียนวัตถุประสงค์ของคุณที่ไหนสักแห่ง เขียนมัน

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

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


4

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

ฉันเห็นว่าหลายคนที่เพิ่งทำไปมากกว่าที่คิด / อ่านเกี่ยวกับการทำมันเป็นสิ่งที่ประสบความสำเร็จ

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

ฉันเชื่อว่าเรียงความของ peter norvig เกี่ยวข้องที่นี่: สอนการเขียนโปรแกรมด้วยตัวคุณเองใน 10 ปี


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

1

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

หวังว่านี่จะช่วย ..


0

ตอบสั้น ๆ ตั้งเป้าหมายและเริ่มต้น

ไม่มีหนังสือหรือวิธีสอนอะไรให้คุณนอกจากประสบการณ์

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

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

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

หนังสือ (ผู้ต้องสงสัยทั่วไป):


0

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

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


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