Làm thế nào để tổ chức một dự án một người đàn ông? [đóng cửa]


21

Thỉnh thoảng (đọc: về mỗi ngày) tôi nảy ra một ý tưởng mới, bắt đầu một dự án mới trong trình soạn thảo / IDE yêu thích của tôi, bắt đầu viết mã và ngày hôm sau tôi xóa nó và bắt đầu một cái gì đó mới. Tôi đã lập trình được khoảng sáu năm nay và trong sáu năm đó tôi chỉ thực sự hoàn thành một dự án rất nhỏ (tiện ích Bảng điều khiển cho Pastebin.com). Mặc dù điều này có thể là tuyệt vời cho việc học mã hóa, tôi thực sự muốn hoàn thành một cái gì đó.

Một số điều tôi nên làm trước, trong và sau khi mã hóa thực tế là gì? Các nguồn lực tốt dạy tôi làm thế nào để tổ chức các dự án một người như vậy?


Nếu nó quan trọng, tôi muốn phát triển web hoặc Mac.


8
Từ những gì bạn đã đăng, nó không có vẻ như thiếu tổ chức. Thay vào đó, nó có vẻ như thiếu sự quan tâm hoặc thúc đẩy để hoàn thành dự án. Có một lý do tại sao bạn xóa các dự án thay vì làm theo thông qua chúng? Nếu bạn thực sự không quan tâm đến dự án hoặc các công nghệ bạn đang sử dụng, thực sự không có điểm nào để làm theo, nếu không nó sẽ trở thành một việc vặt.
Thomas Owens

1
@Thomas Sở hữu lý do chính khiến tôi xóa các dự án còn dang dở là vì chúng làm cho thư mục lập trình của tôi trông lộn xộn (tức là chứa các tệp tôi sẽ không bao giờ sử dụng nữa). Tôi rất quan tâm đến các công nghệ, tôi đoán rằng đó chỉ là thiếu động lực.
đúng

Câu trả lời:


18

Tôi nghĩ rằng vấn đề thực sự, lâu dài, là động lực, chứ không phải là tổ chức.

  1. Tìm người dùng và nói chuyện với họ. Xem dự án của bạn như một loại quà tặng (hoặc sản phẩm có thể bán) cho những người đó. (Ai đó đưa ra ý tưởng cũng rất tuyệt, ngay cả khi họ không thực sự phát triển mã với bạn.)

    Có được động lực xã hội đó sẽ mạnh mẽ hơn rất nhiều trong việc giữ cho dự án thú vị trong thời gian dài hơn là sự tò mò cá nhân.

  2. Mục tiêu của bạn phải là những mảnh nhỏ có kích thước cắn của chức năng hữu ích. Đưa nó lên SourceForge hoặc GitHub và coi dự án là thứ cần có cơ hội sống sót ngay cả khi bạn bất ngờ bị thiên thạch đâm phải.

    Điều này dẫn đến nhiều bản phát hành hơn (có nghĩa là nhiều phản hồi và sự nhiệt tình hơn từ người dùng) và cũng có khả năng lớn hơn là người khác có thể quyết định đóng góp cho dự án.

  3. Chọn một mục tiêu học tập cụ thể cho chính mình. Dự án giúp bạn học được công nghệ hay kỹ thuật gì? Nếu hóa ra kỹ thuật này không phù hợp với khu vực có vấn đề, bạn có đủ quan tâm để ít nhất hoàn thành phiên bản 1.0 trước khi đặt nó sang một bên không?

    Ví dụ về các mục tiêu như vậy bao gồm viết trình phân tích cú pháp, giao thức mạng, các khía cạnh của AI trò chơi, khung học tập hoặc bộ công cụ, ngôn ngữ mới, v.v.

Trường hợp xấu nhất có nghĩa là thiếu cả ba, trong đó bạn liên tục thực hiện "viết lại lớn" một công cụ chưa từng được phát hành liên quan đến mã mà bạn không thấy thú vị cho những người mà bạn không chắc chắn tồn tại.


2
+1 cho "nếu bạn bất ngờ bị thiên thạch đâm trúng.". Không, nghiêm túc, lời khuyên tuyệt vời chống lại sự trì hoãn.
Randolf Rincón Fadul

Một điều cần bổ sung sau lợi ích của trải nghiệm: Nếu bạn muốn được giúp đỡ, có lẽ bạn sẽ cần quảng bá dự án nguồn mở của mình nếu bạn không muốn ở lại nhà phát triển duy nhất. "Nếu bạn xây dựng nó, họ sẽ đến" rất không đáng tin cậy.
Darien

2

Khi bạn nảy ra ý tưởng cho một dự án mới trong khi thực hiện dự án, chỉ cần lưu ý nó trong danh sách các ý tưởng dự án. Sau đó quay trở lại dự án hiện tại. Nếu dự án đáng giá, đừng để bản thân bị phân tâm bởi một dự án mới. Chỉ sử dụng các bước sau nếu đó là một ý tưởng nổi bật.

Trước khi bạn bắt đầu dự án của chúng tôi, hãy lên kế hoạch. Nó sẽ làm gì? Làm thế nào nó sẽ khó để làm? Những điều đã biết và một ẩn số là gì? Điều gì có khả năng đi sai? Làm cái đó mất bao lâu? [Bây giờ bạn có thể quyết định nên tiếp tục hay dừng ngay bây giờ.] Giữ kế hoạch của bạn. [Nếu bạn đang làm việc trên một dự án, hãy đặt dự án mới sang một bên và tiếp tục với dự án ban đầu khác.]

Khi bạn bắt đầu dự án của bạn, hãy thiết lập nó như một dự án riêng trong IDE của bạn. (Vì vậy, bạn không cần phải xóa nó để bắt đầu dự án tiếp theo của mình.) Kiểm tra nó trong một số phần mềm kiểm soát phiên bản như một dự án mới. (Bây giờ bạn có thể xóa nó nếu bạn thấy nó cản trở một dự án khác.) Kiểm tra dự án của bạn bất cứ khi nào bạn có nó làm điều gì đó chính xác. (Bây giờ bạn có thể quay lại nếu bạn không theo dõi được.)

Theo dõi các vấn đề phát sinh trong dự án của bạn. Điều này có thể được thực hiện với một vài tệp văn bản trong dự án. Các tệp như TODO, Changelog, README (có thể bao gồm các lỗi và sự cố đã biết) có thể phù hợp.

Khi bạn nhận được mã làm việc của bạn, thẻ trong kiểm soát phiên bản của bạn. Nếu giá trị của nó chia sẻ làm như vậy.

Quay trở lại kế hoạch của bạn và xem bạn đã làm tốt như thế nào. Làm một bài học tài liệu cho chính mình. Bạn đã học được gì, bạn ước tính tốt như thế nào? Những vấn đề bạn đã bỏ lỡ? Những vấn đề bạn đã đánh giá quá cao? Bất cứ điều gì khác mà bạn cho là quan trọng.

Khi bạn từ bỏ một dự án, làm quá trình bài học kinh nghiệm. Thêm một lưu ý về lý do tại sao bạn từ bỏ dự án.

Xem lại bài học của bạn học được mỗi tháng một lần hoặc lâu hơn. Khi thời gian trôi qua, bạn có thể tăng khoảng thời gian giữa các đánh giá.


2

Đây là một liên kết đến " Làm Agile trong một nhóm ". Đó là một bài đọc thú vị!

Ngoài ra, bạn có thể muốn xem xét lý do tại sao các quy tắc của nhà phát triển phần mềm chúng tôi làm "tại nơi làm việc" lại quan trọng. Có phải họ chỉ quan trọng nếu có 10 người trong đội? Không, chúng quan trọng vì chúng giúp bạn nghĩ về dự án của bạn.

đối tượng mục tiêu của bạn là ai? (Nếu là bạn, thì thật tuyệt - nhưng hãy nhớ những gì ban đầu bạn muốn ứng dụng này)

Nếu bạn đang làm UI, hãy nghĩ về nhu cầu của khán giả, sau đó thực hiện một số mô phỏng trước khi đi vào phát triển UI lõi cứng.

Nếu bạn đang xem xét logic kinh doanh của mình, hãy thử TDD hoặc BDD. Hãy suy nghĩ về cách bạn muốn ứng dụng của bạn hoạt động trước khi tấn công nó. Xem xét gói nó trong một khai thác như Fitnesse hoặc tương tự. Nếu bạn muốn kiểm tra ứng dụng của mình, nơi dễ nhất để bắt đầu là lúc bắt đầu .


1

Đưa ra nhận xét của bạn, ngừng xóa các dự án của bạn!

Tôi thường không giữ các dự án mà tôi không tích cực phát triển (hoặc dự kiến ​​phát triển tích cực trong tương lai gần) trên máy tính của mình, nhưng các tệp nguồn tồn tại trong kho SVN và mọi thứ (bao gồm các tệp cấu hình IDE) được sao lưu trên một ổ cứng gắn ngoài. Nó không trả lời QuestiStop của bạn xóa công việc của bạn và tập trung vào việc thúc đẩy bản thân.

Nếu bạn đang tìm kiếm một kho lưu trữ được lưu trữ, hãy xem Google Code, SourceForge, GitHub và BitBucket. Tải lên các tệp của bạn, giữ chúng ở một nơi nào đó và khi bạn có sở thích mới, hãy kéo chúng xuống. Mặc dù bạn có thể đặt chúng ở chế độ riêng tư nhưng bạn có thể đặt chúng ở chế độ công khai nếu bạn không xấu hổ về chúng. Có lẽ ai đó sẽ quan tâm đến việc khởi động lại công việc của bạn hoặc học hỏi từ các ví dụ của bạn (đặc biệt nếu bạn đang sử dụng một thư viện hoặc khung công tác thú vị).

Theo thời gian, làm việc trên động lực của bạn. Hãy cố gắng tập trung vào một điều tại một thời điểm. Bạn có thể không nhận được mã của mình với chất lượng sản xuất, nhưng có lẽ bạn có thể lấy mã đó để lấy chất lượng, hoặc thứ gì đó mà người khác có thể nhìn vào để xem bộ kỹ năng, kiến ​​thức của bạn hoặc để tìm hiểu về một cách làm việc cụ thể.


1

Trước hết, có những dự án và dự án. Nếu bạn thử một số công nghệ hoặc thư viện, hoặc sth khác, bạn có thể tạo một dự án trong IDE của mình, tìm hiểu xem điều này có thú vị với bạn hay không, sau đó xóa dự án của bạn. Không sao đâu, mọi người làm việc này.

Một loại dự án khác là phần mềm / trang web / thực tế, v.v., đó là kinh doanh, trong đó các 'dự án', tệp, chương trình chỉ là công cụ và phát triển những thứ phức tạp như vậy đòi hỏi phải có động lực và mục tiêu :

  • những gì bạn phát triển (trang web / trình soạn thảo văn bản / ứng dụng di động / ...)
  • bạn cần nó để làm gì (kiếm tiền, chọn một số công nghệ mới / đóng góp cho nguồn mở / ...)
  • khi nào bạn sẽ làm (bạn dành bao nhiêu thời gian cho dự án của mình, bạn dự định thực hiện điều đó trong bao lâu)

Những gì bạn phát triển nên mới . Nếu bạn muốn tạo một trình soạn thảo văn bản khác vì bạn nghĩ rằng một số tính năng bạn yêu cầu bị thiếu, có lẽ bạn không cần phải làm điều đó. Có hàng trăm công cụ nguồn mở, đóng góp cho một trong số chúng.

Ngay cả khi bạn tạo một công cụ sử dụng một lần nhỏ như tập lệnh, bạn nên nêu những điều được liệt kê, việc giải quyết vấn đề sẽ dễ dàng hơn.

Nếu bạn bị mắc kẹt trong việc viết mã (ví dụ, viết lại mã một cách ồ ạt), có lẽ bạn không đủ kinh nghiệm để làm điều đó. Lấy một cuốn sách hay về công nghệ phần mềm, nền tảng của bạn (mac / web / vv), đọc mã được viết bởi các nhà phát triển có kinh nghiệm hơn làm những việc tương tự. Hiện tại có rất nhiều nơi để làm điều đó (github, mã google, blog lập trình, stackoverflow).

Đừng cố gắng giải quyết một vấn đề rất phức tạp (ví dụ: người viết trình biên dịch hoặc hệ điều hành) từ đầu, trước tiên hãy phân tách nó thành các tác vụ nhỏ hơn, thường là ai đó đã tạo thư viện giúp bạn giải quyết vấn đề của mình.


0

Bạn đã từng cân nhắc hỏi người thân những gì họ thực sự cần cho một webtool, và sau đó thực sự làm nó cho người đó chưa?

Điều này sẽ cung cấp động lực để thực sự hoàn thành và cung cấp đó là phần khó khăn trong việc này. Ngoài ra, bạn nhận được lợi ích của việc hỗ trợ và duy trì ứng dụng nếu nó hữu ích cho người thân yêu của bạn. Nếu nó không hữu ích, bạn có thể học hỏi từ kinh nghiệm những gì có thể sai.

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.