Xây dựng chương trình hoàn chỉnh?


15

Đọc sách, xem video và xem lại hướng dẫn đều rất dễ dàng. Ghi chép và thực sự học các tài liệu có thể khó hơn một chút, nhưng ngay cả khi đó, bất cứ ai có bộ não đàng hoàng và một số tiền lãi khá lớn, điều đó đủ dễ dàng (không đề cập đến, vui vẻ).

Vấn đề là, nó không thực sự chuẩn bị cho bạn để viết một chương trình hoặc trang web đầy đủ. Giả sử bạn là những thiếu niên đó (chỉ ở trường trung học, không có khóa học lập trình hoặc khoa học máy tính thực sự (không có trình độ đại học) và không có kinh nghiệm trong thế giới thực), và bạn đến với Groupon. Hay thậm chí là Mark Zuckerburg, chắc chắn anh ta là một thiên tài, và anh ta là một lập trình viên rất có năng lực ... nhưng làm thế nào?

Làm thế nào để bạn khuyên những người không nhất thiết phải mới lập trình, nhưng mới lập trình các ứng dụng thực và lập trình viên thực sự sẽ phát triển nó? "Quá trình phát triển" - đặc biệt đối với các lập trình viên đơn lẻ (hoặc có thể 2-3 thanh thiếu niên) là gì?

Ngoài ra, theo như phát triển web, quá trình là gì? Là một cái gì đó giống như Facebook hoặc Groupon được viết bằng một khung (như CodeIgniter hoặc Zend cho PHP)? Hay họ phát triển khuôn khổ riêng của họ? Tôi không hỏi làm thế nào để đưa ra một ý tưởng tuyệt vời, nhưng làm thế nào để thực hiện những ý tưởng tuyệt vời một cách hiệu quả? Có ai có lời khuyên không?

Tôi đã đọc một vài cuốn sách về cả C và C ++ (chủ yếu là Ngôn ngữ lập trình C và Ngôn ngữ lập trình C ++) và lấy AP Computer Science (cũng như đọc thêm một vài cuốn sách về Java và OOP). Tôi cũng đã đọc một vài hướng dẫn về PHP (và CodeIgniter) và Python. Nhưng tôi vẫn còn học trung học, và về mặt kỹ thuật tôi thậm chí không đủ tuổi để làm việc thực tập thêm vài tháng nữa.


3
Reading books, watching videos, and reviewing tutorials is all very easy. Vâng, đọc chúng là dễ dàng, hiểu chúng là phần khó.
yannis

@Yannis Rizos Thật ra, tôi hiểu họ, và tôi nói về điều đó trong câu sau đó.
Bob

@Bob học tài liệu và thực sự hiểu nó thực sự khá khác biệt, thứ hai khó hơn nhiều. Định nghĩa cá nhân của tôi về "sự hiểu biết" là khi tôi có thể giải thích chủ đề trong tay theo cách mà một đứa trẻ mười tuổi sẽ hủy bỏ. Nhanh chóng, giải thích "giao diện" :)
Thanos Papathanasiou

1
@ThanosPapathanasiou Phần mềm, phần cứng hay khái niệm OO? :)
yannis

2
@YannisRizos đó là vẻ đẹp với việc giải thích những điều như bạn sẽ là một đứa trẻ mười tuổi, bạn sẽ bị buộc phải sử dụng một ví dụ đơn giản sẽ gói gọn cả ba :)
Thanos Papathanasiou

Câu trả lời:


8

Có một sự khác biệt giữa chỉ đơn giản là biết cách lập trình và biết cách cấu trúc một chương trình (kiến trúc phần mềm).

Một cuốn sách đơn giản về một ngôn ngữ lập trình cụ thể sẽ chỉ dạy cho bạn các công cụ bạn có thể sử dụng để thiết lập kiến ​​trúc của một chương trình.

Ngoài ra còn có những cuốn sách giúp bạn với kiến ​​trúc phần mềm. Các chủ đề bạn nên tìm kiếm là các mẫu thiết kế , trừu tượng hóa phần mềm , kiến ​​trúc / thiết kế phần mềm và nhiều thứ khác ... ( Head First Design Forms là một công cụ thực sự bắt mắt đối với tôi.)

Đối với một bộ tài nguyên rộng hơn, câu hỏi này có thể khiến bạn quan tâm.

Đây vẫn là cách tốt nhất để học cách cấu trúc đúng toàn bộ chương trình là trải nghiệm thực tế, rất cởi mở với các đề xuất và kỹ thuật mới trong khi thực hiện.


6

Đó là cùng một vấn đề rất phổ biến với phát triển trò chơi (độc lập): làm thế nào để kết thúc.

Ngoài việc đảm bảo rằng bạn có thể làm điều đó, bởi vì bạn có tất cả kiến ​​thức cần thiết hoặc bạn sẵn sàng học hỏi - và bạn đã kiểm tra rằng những người khác đã kiểm tra rằng điều đó là không thể ...

... điều chính làm cho "hoàn thiện" có thể là đặt mục tiêu .

Mục tiêu là mục tiêu cần đạt tới, họ không được mô tả cách đến đó, chỉ những yêu cầu / tính năng cơ bản bạn cần để xem phiên bản đầu tiên của ứng dụng là "đã hoàn thành". Ngoài ra, đừng đặt mục tiêu quá xa trong thời gian.

Viết mục tiêu của bạn ở đâu đó. Viết nó.

Khi bạn đã đặt mục tiêu, bạn sẽ phải tìm cách tiếp cận mục tiêu đó. Đó là "con đường" nổi tiếng mà thú vị hơn là sự xuất hiện. Đừng lo lắng về việc chạm tường và khám phá xem bạn sẽ sai như thế nào. Hầu hết thời gian, nếu chủ đề là mới, bạn sẽ hiểu sai và bạn sẽ tìm hiểu lý do và có thể làm cho đúng và đã thực hiện một thiết lập khác để đến gần hơn với các mục tiêu.

Ngay cả trong thiết kế trò chơi, chúng tôi biết rằng bạn phải cung cấp các mục tiêu để đảm bảo người chơi biết, thậm chí theo một cách trừu tượng, những gì anh ta cần phải đạt được, bất kể cách anh ta làm.


4

Đọc nhiều về bơi lội không làm cho một người bơi. Tất nhiên, nó chuẩn bị một kiến ​​thức cần thiết, để trở thành một vận động viên bơi lội bạn phải nhảy xuống nước.

Tôi thấy rằng nhiều người chỉ làm điều đó hơn là nghĩ / đọc về việc làm nó là những người thành công.

Nếu bạn muốn trở thành một vận động viên bơi lội, hãy nhảy xuống nước và học bơi, nếu bạn muốn trở thành một lập trình viên, hãy bắt đầu lập trình với một ý tưởng và học lập trình.

Tôi tin rằng bài tiểu luận của peter norvig có liên quan ở đây: Dạy bản thân lập trình trong 10 năm


2
Câu trả lời tốt! Tôi có hai người bạn tiếp tục đọc (bắt đầu đọc) sách về lập trình với hy vọng rằng một ngày nào đó họ sẽ cảm thấy sẵn sàng để bắt đầu lập trình. Bạn sẽ không bao giờ cảm thấy điều đó. Chỉ cần nhảy xuống nước lạnh và bắt đầu làm việc với một dự án thực sự. Nếu bạn cảm thấy nó quá phức tạp, hãy chọn một cái nhỏ hơn. Làm việc cho đến khi nó được hoàn thành. Trong dự án, tìm kiếm các cuốn sách và bài đọc theo các vấn đề mở xuất hiện khi bạn đi.
Giorgio

1

Có vẻ như bạn tập trung quá nhiều vào các khía cạnh triển khai của phần mềm, đây chỉ là một phần của toàn bộ quá trình phát triển phần mềm (xem SDLC). Bạn có thể cần xem xét một số phương pháp phần mềm và tìm hiểu cách sử dụng một phương pháp mà bạn thích. Ngoài ra, hãy đọc các nghiên cứu điển hình, tìm ra các ưu điểm và nhược điểm của từng công cụ mà bạn sẽ xem xét sử dụng trong phần mềm của mình, đánh giá và đi từ đó. Sau khi đọc nhanh câu hỏi của bạn, bạn có thể cần tập trung vào Phân tíchThiết kế lĩnh vực của phần mềm và tìm hiểu về UML, phân tách và có thể một số mẫu thiết kế .. có thể ..

Hi vọng điêu nay co ich..


0

Câu trả lời ngắn, đặt mục tiêu của bạn và bắt đầu.

Không có cuốn sách hay cách nào để dạy điều này cho bạn mà là kinh nghiệm.

Bạn sẽ phạm nhiều sai lầm và dần dần có được kinh nghiệm. Vì vậy, nếu bạn gặp phải một vấn đề, hãy nghĩ về nó, cố gắng đưa ra giải pháp và nếu bạn thất bại, hãy đến stackoverflow và nhận một số trợ giúp. Cũng có đánh giá mã càng sớm và càng nhiều càng tốt.

Sau khi hoàn thành dự án đầu tiên của bạn và nắm bắt tốt các vấn đề kỹ thuật bắt đầu xem xét các chủ đề đòn bẩy trừu tượng hơn và cao hơn của công nghệ phần mềm.

Với nhận thức mới đạt được của bạn về các vấn đề phổ biến, bạn sẽ có được những cuốn sách tóm tắt các khái niệm về việc có mã sạch và tách rời, bởi vì dự án đầu tiên của bạn sẽ là một mớ hỗn độn không thể nhầm lẫn.

Sách (nghi phạm thông thường):


0

Tại thời điểm này, bạn cần ngừng đọc về lập trình và bắt đầu lập trình. Nếu bạn muốn xây dựng một trang web, sau đó đi qua một hướng dẫn cho khuôn khổ của sự lựa chọn của bạn. Chỉ cần chọn một trong đó hấp dẫn bạn. Làm việc thông qua hướng dẫn để tìm hiểu cách sử dụng khung, sau đó bắt đầu xây dựng ứng dụng web của riêng bạn.

Sau khi bạn đã viết một số mã, thì những cuốn sách về kỹ thuật lập trình sẽ có ý nghĩa hơn rất nhiều.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.