Jakie są wady uruchomienia projektu typu open source, jeśli nie jest się doświadczonym programistą? [Zamknięte]


12

Mam wiele pomysłów na produkty do zbudowania. Problem polega na tym, że mam mniej niż rok doświadczenia zawodowego i boję się negatywnej oceny w przyszłości na podstawie tego, co teraz produkuję. Nie mam pojęcia, czy mój kod jest dobry.

Nie znam żadnego z wzorców kodowania. Wiem tylko, że potrafię tworzyć produkty, które działają. Chcę mieć profil publiczny w githubie dla moich przyszłych projektów i postaram się upewnić, że jest dobrze skomentowany, zoptymalizowany i czysty.

Oto rzeczy, których obawiam się, że zostaną ujawnione publicznie:

  1. Mój kod może nie być wysoce zoptymalizowany.
  2. Niewłaściwe użycie niektórych bibliotek lub funkcji, które przypadkowo wykonują zadanie.
  3. Nie znam ani nie podążam za żadnym wzorcem kodowania.
  4. Dużo błędów / nieuwzględnianie przypadków narożnych i krawędziowych
  5. Zasadniczy brak zrozumienia i zastosowania niektórych pojęć, takich jak bezpieczeństwo wątków, problemy z współbieżnością w programowaniu wielowątkowym itp.

Czy powinienem zacząć i kontynuować, czy nadal trzymać się budowania lokalnie i prywatnie, dopóki nie zdobędę więcej doświadczenia. Nie chcę, aby popełnione tutaj błędy prześladowały moje perspektywy kariery na dłuższą metę.


4
Rozumiem skąd pochodzisz. Kiedy ujawniasz swoje projekty światu, skutecznie odsłaniasz część siebie. Zastanów się nad tym, praktycznie w całym kodzie na planecie są błędy, chyba że oszukują, formalnie go weryfikując. Masz dużo więcej do zyskania niż do stracenia. Jeśli potencjalny pracodawca dowie się, że popełniłeś błąd w jednym ze swoich projektów, podczas gdy byłeś stosunkowo niedoświadczony, pomyślą, że tak, i ja i wszyscy inni tutaj. Bardziej prawdopodobnym scenariuszem jest to, że nie będą mieli czasu na przejrzenie wszystkiego, co kiedykolwiek napisałeś.
dan_waterworth

1
Moim zdaniem formalna weryfikacja programu nie oznacza „oszukiwania”.

4
All I know is to build products that work.- Co jest bardzo dobre. Łatwo jest zbyt pochłonięci wzorów i projektowania i kończy się nigdy dostarczaniu ...
Izkata

Mówię pieprzyć to, co mówią inni i nie bój się. Jeśli chcesz zrobić coś pozytywnego i uważasz, że ty lub inni możecie odnieść korzyść z pracy, to po prostu zrób to. (Wtyczka Nike)
Snake,

Odpowiedzi:


32

Po 30 latach profesjonalnego tworzenia oprogramowania wciąż tworzę błędy. Nadal znajduję wzory, których nie znam. Nadal uczę się od moich kolegów i spotykam rzeczy, których nie znam na co dzień.

Najbardziej doświadczeni programiści ocenią, w jaki sposób reagujesz na problemy i krytykę, niezależnie od tego, czy uczysz się na własnych błędach i ulepszasz swój produkt, aby zaspokoić potrzeby użytkowników lub społeczności, czy przyznajesz się do tego, czego nie wiesz i dążysz do poprawy.

Jedną z najlepszych umiejętności programisty jest gotowość zadawania głupich pytań i czasami wyglądania na głupiego, aby jak najszybciej znaleźć dobre odpowiedzi.

Każdy, kto jest doświadczony i bardzo biegły, był kiedyś tam, gdzie jesteś teraz. Nauczysz się znacznie szybciej, jeśli umieścisz tam swoją pracę i będziesz pracować z innymi ludźmi.

Nie ma powodu czekać. Otwórz swój projekt.

Jeszcze lepiej, przyczyniaj się do innych otwartych projektów i ucz się na nich.


+1. BTW, zastanawiam się, dlaczego twój drugi akapit każe mi myśleć o zespole programistów PHP.
Arseni Mourzenko

+1 Zrozumienie i szanowanie, że każdy może zrobić źle, jest jedną z najważniejszych cech członka zespołu.
jgauffin

6

Myślę, że za bardzo się martwisz.

Społeczność systemów operacyjnych jest bardziej zaniepokojona tym, jak użyteczna jest konkretna aplikacja, niż tym, jak dobrze jest napisana. Jeśli jest źle napisany, społeczność wkroczy i pomoże naprawić błędy. Co ciekawsze, jak dobrze aplikacja rozwiązuje problemy, z którymi zmagają się ludzie. Jeśli aplikacja / projekt stanowi eleganckie rozwiązanie irytującego problemu, jakość kodu staje się kwestią sporną.

Umieść to tam, zobacz, co się stanie. Nie będziesz wiedział, jak dobry / zły jest twój kod, dopóki inni go nie zobaczą i nie zaczną się nim bawić. W całym kodzie występują błędy. Co ciekawsze, jak szybko autor pracuje nad rozwiązaniem tych błędów.

Rozważ to ćwiczenie edukacyjne. Nie dowiesz się tego, czego nie wiesz, dopóki trochę nie wystawisz szyi i nie spotkasz się z krytyką. Mamy nadzieję, że większość krytyki może stać się konstruktywna. Biorąc pod uwagę, że pytasz o to w pierwszej kolejności, nie mam nic przeciwko, mówiąc, że będziesz miał co najmniej średni lub lepszy kod jakości.


5

Znajdujemy osoby o dużej wiedzy w dziedzinie Open Source. To prawda, a także zastraszanie nowych osób. Ale są również bardzo dobrzy w zapewnianiu pomocy dla dobrych projektów, nawet jeśli główny programista nie odzwierciedla faktycznych wymagań, aby oprogramowanie mogło osiągnąć wysoką jakość.

Znasz już swoje ograniczenia. To nie jest zły początek. To dobry początek.

Wejdź na imprezę i znajdź tam swoje miejsce.

Powodzenia!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.