publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
17 skomentuj »

TAGI: programowanie

2008-01-23 15:05:45, dodał sr

Pięć powodów, dla których nie należy pisać własnego koduPięć powodów, dla których nie należy pisać własnego kodu

Większość designerów woli tworzyć swe projekty od zera. Podobnie jest z programistami. Kiedy cztery lata temu zacząłem blogować, istniało wtedy już niemało gotowego oprogramowania blogowego. Stwierdziłem jednak, że dałbym radę sam napisać system blogowy w PHP. Napisałem go zatem, zacząłem też zakładać blogi dla przyjaciół przy jego użyciu. Oczywiście w momencie, gdy więcej osób zaczęło korzystać z mego oprogramowania, pojawiły się oczekiwania co do nowej funkcjonalności, problemy z bezpieczeństwem... wsparcie stało się koszmarem. Dlatego też, gdy rok temu zakładałem moją witrynę, stwierdziłem, że jeśli zrobiłbym bloga tylko dla siebie, to wciąż mógłby to być mały, zabawny projekt (szczególnie, że mam teraz o cztery lata doświadczenia więcej i nowy język do wykorzystania – .NET). Jak się jednak okazało, choć wciąż mi to daje nieco zabawy, to tworzenie nowego kodu pochłania mnóstwo czasu i jest raczej nieproduktywne. Nie wydałem jeszcze ostatecznego werdyktu, czy warto było samodzielnie pisać backend tego bloga, ale podczas pracy nad nim znalazłem pięć powodów, z powodu których nie warto pisać własnego kodu (i lepiej skorzystać z gotowych rozwiązań Wolnego Oprogramowania czy kupić komercyjny program).

1. Czas to naprawdę jest pieniądz

Zdumiewa mnie, jak często małe firmy odrzucają myśl o wykorzystaniu kodu innych ludzi, bo wierzą, że mogą same napisać coś lepszego lub że nie lubią wydawać pieniędzy na komercyjne oprogramowanie. W rzeczywistości niezmiernie rzadko taniej wychodzi samodzielne stworzenie kodu niż wykupienie licencji na użycie już istniejącego rozwiązania. Zanim zaczniesz jakikolwiek większy projekt, warto poświęcić kilka godzin na sprawdzenie, czy zostało już stworzone coś podobnego i czy naprawdę warto pisać to od nowa.

2. Inni ludzie napisali to lepiej

Zarówno komercyjne, jak i otwarte oprogramowanie ma pewien atut, którego twemu brak. Było ono sprawdzone i uruchamiane przez wielu ludzi. Szczególnie w wypadku otwartego oprogramowania – za jego rozwiązaniami stoją często najlepsi programiści na świecie. (Często najlepsze firmy programistyczne zatrudniają później koderów stojących za projektami Wolnego Oprogramowania). Poza tym gotowe oprogramowanie ma najpewniej o wiele większą funkcjonalność, niż zamierzałeś zaimplementować w swym własnym programie.

3. Ucz się od innych programistów

Jak wskazałem w poprzednim punkcie, wśród twórców oprogramowania jest naprawdę wielu wybitnych programistów. Jeśli jesteś przyzwyczajony do samodzielnego pisania programów lub pracujesz w niewielkiej firmie, nie zostałeś raczej wystawiony na oddziaływanie innych stylów programowania. Naprawdę wiele cennej nauki wyciągnąłem z rzeczywistych przykładów kodu tworzonego przez programistów bardziej doświadczonych niż ja.

4. Rozbudowuj swą bibliotekę zasobów

Według mnie umiejętność gromadzenia zasobów jest jedną z najważniejszych cech, które człowiek może mieć. Wolałbym wybrać przeciętnego programistę, który umie znaleźć wszystko, czego potrzebuje, niż dobrego programistę, który chce sam wszystko pisać. Im więcej wiesz, co i gdzie możesz znaleźć, tym bardziej użyteczny i efektywny możesz być. Jeśli nigdy nie wziąłeś się za przeglądanie niezmierzonych zasobów istniejącego kodu, to wiele straciłeś.

5. Lepsze strategie wyjścia

Większość ludzi cieszy komfort i satysfakcja pracy z własnym kodem. Czego jednak zwykle nie uwzględniają, to faktu, że kod, który napiszą, zostanie na zawsze związany z jednym programistą. Na przykład: jeśli korzystasz z popularnego oprogramowania dla koszyka zakupowego czy CMS-a, a chciałbyś zostawić kiedyś ten biznes, to zawsze możesz liczyć na to, że znajdziesz kogoś do pomocy. Jeżeli zaś chciałbyś kiedyś sprzedać firmę, jej przejęcie przez nowego właściciela będzie o wiele łatwiejsze, gdy korzystasz z otwartych frameworków, które mogłyby być znane przyszłym pracownikom.

Z tych to właśnie powodów odwiedzam zwykle kilka miejsc w poszukiwaniu kodu źródłowego. Najpierw sprawdzam zawsze SourceForge, gdyż jest to najważniejsze miejsce dla wszelkich otwartych projektów. Jeśli potrzebuję fragmentów kodu w .NET, sprawdzam Code Project lub przeszukuję Google Groups. Jeśli zaś potrzebuję czegoś do Flasha, zaglądam do jakościowych rozwiązań na Flashloaded lub mnogości niedrogich a wspaniałych plików na FlashDen. Rzadko kiedy nie mogę znaleźć czegoś, co już nie zostałoby wcześniej zrobione. Oczywiście nie oznacza to, że muszę to wykorzystać. Po prawdzie wciąż samodzielnie piszę większość mojego kodu. I dlatego właśnie następnym wpisem w tym blogu będzie pięć argumentów, ze względu na które powinieneś pisać własny kod.

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
17 skomentuj »

Komentarze

  • Stasiu

    #1 Stasiu 2008-07-07 10:06:08 0

    Ja muszę się z Tobą nie zgodzić pisałeś własnego bloga nie dałeś rady temu to trudno. Widać ze z ciebie jest kozak :)

    None

  • dAREuS

    #2 dAREuS 2008-07-07 10:06:08 0

    @Stasiu: to jest tak, Samuel napisał własnego bloga, ale potem się okazało, że jeśli miałby spełnić oczekiwania użytkowników, to musiałby im napisać WordPressa. Po co, skoro WordPress już jest? W tym cały wic, tworzymy coś, co już jest gotowe - w tym, myślę, należy upatrywać głównego powodu, dla którego nie należy ponownie odkrywać Ameryki.

    None

  • sinus camera

    #3 sinus camera 2008-07-07 10:06:08 0

    Dokładnie - po co pisać coś co już jest? Weź to co jest i dopisz coś nowego - zajdziesz dalej i przysłużysz się innym.

    None

  • paweł

    #4 paweł 2008-07-07 10:06:08 0

    Jeżeli projekt ma coś w sobie można go oddać ludzkości. Może chwyci jako open source. Druga możliwość to projekt ubić. To wymaga ostatniego wysiłku w postaci patentu do przeniesienia danych - może wystarczy jakiś prosty skrypt, trochę SQLa. Pisanie beztroskich skryptów na własny użytek idzie piorunem i dostarcza bardzo dużo satysfakcji :).

    None

  • apohllo

    #5 apohllo 2008-07-07 10:06:08 0

    Nie lepiej było zatytułować to "Powody, dla których warto uczyć się od innych"? Dla przytoczonych 5 powodów na niepisanie własnego kodu mógłbym znaleźć 10 które są przeciwko (bezmyślnemu) wykorzystywaniu kodu innych.

    None

  • dAREuS

    #6 dAREuS 2008-07-07 10:06:08 0

    @apohllo: Może i masz rację. Tak czy owak niedługo druga część, czyli 5 powodów, dla których warto pisać własny kod ;).

    None

  • Quinn

    #7 Quinn 2008-07-07 10:06:08 0

    Pisze strony zarówno na własnym kodzie, jak i wykorzystując darmowe CMS'y. Pisząc sam - uczę się, ćwiczę, eksperymentuję, itp - wykorzystując gotowe polepszam, dokładam, ale i mam dobre gotowe. Nie ma sensu stać tylko po jednej stronie, piszą tylko własne lub używając tylko gotowych. Można by rzecz złoty środek - po trochu z każdego. ;]

    Swoją drogą pracuję teraz na Engine do strony (nie CMS'em - tu Engine spełniać będzie łatwo modyfikowalnego skryptu wielorazowego użytku dla mnie i znajomych) - i niestety już pojawia się problem - pare osób się nim zainteresowało, więc chcę zrobić jak najlepej. Kupa pracy, wymagania. Dlatego też projekt jest ograniczony tylko do mnie i znajomych. ;]

    Pozdrawiam.

    None

  • mlodyno

    #8 mlodyno 2008-07-07 10:06:08 0

    W artykule zabrakło kilku zdań i szkoda, że nie jest on połączony z drugim artykułem: "5 argumentów, ze względu na które powinieneś pisać własny kod". Pisanie własnego kodu ma jedną niepodważalną zaletę - nauka, wnioski i doświadczenie, których nikt nam nie odbierze. Oczywiście posiłkując się innym kodem i analizując go też wiele można zdziałać. Ja wyznaję zasadę, że jeśli umiałbym sam napisać program, którego kod chce wykorzystać, to go wezmę... w przeciwnym wypadku sam próbuje zmierzyć się z problemem, nawet gdybym po miesiącu zmagań miał wrócić do gotowego rozwiązania.

    None

  • mpprojects

    #9 mpprojects 2008-07-07 10:06:08 0

    @sinus camera

    Właśnie na tej zasadzie działa wolne oprogramowanie. I wszyscy są zadowoleni.

    None

  • ER

    #10 ER 2008-07-07 10:06:08 0

    Nie zgodze z autorem z prostych powodow. Warto pisac i tworzyc wlasne rozwiazania poniewaz wszystkie "swiatle umysly" tak robily nikt odrazu alfa i omega sie nie urodzil. Druga sprawa to umiejetnosc wykozystywania kodu juz napisanego przez innych. Warto pokusic sie o przede wszystkim zrozumienie programowania obiektowego ,a co za tym idzie to mozliwosci wlaczania 'obcego' kody do wlasnego frameworka czy wlasnych rozwiazan. Sam pracuje na wlasnym frameworku gdzie mam wiele obiektow zapozyczonych, co wcale nie przeszkadza mi w tworzeniu swojego wlasnego kodu z wykozystaniem istniejacych rozwiazan. Trzecia sprawa pracuje na kilku korporacyjnych frameworkach napisanych w php, ktore nigdy nie byly udostepnione jako freeware czy praktycznie upublicznione, a to dlatego ze systemy na nich powstale sa praktycznie komercyjnymi rozwiazaniami np. System Odpraw Pasazerow dla linii lotniczych, tak wiec opieranie sie bezmyslnie na rozwiazaniach popularnych, ogolnie dostepnych ale nie koniecznie dobrych lub bezpiecznych mija sie z celem ktorym jest... bycie dobrym programista.

    None

  • Maximus

    #11 Maximus 2008-07-07 10:06:08 0

    /ER/ za bardzo dosłownie potraktowałeś moim skromnym zdaniem słowa autora.

    "Oczywiście nie oznacza to, że muszę to wykorzystać. Po prawdzie wciąż samodzielnie piszę większość mojego kodu. I dlatego właśnie następnym wpisem w tym blogu będzie pięć argumentów, ze względu na które powinieneś pisać własny kod."

    Puenta jest w sumie najlepsza z całego tego wpisu.

    Umiar, zdrowy rozsądek, otwarty umysł to podstawa przy pracy z kodem. Młodzi adepci sztuki tajemnej jak tylko lizną trochę wiedzy to od razu chcieli by pisać systemy operacyjne w asemblerze :) Z wiekiem to mija człowiek uczy sie wykorzystywać gotowe rozwiązania i znajdywać złoty środek pomiędzy pracą własną a wykorzystaniem gotowców

    None

  • Parsiuk

    #12 Parsiuk 2008-07-07 10:06:08 0

    Leń.

    None

  • BonE

    #13 BonE 2008-07-07 10:06:08 0

    Czemu napisać coś własnego? Od podstaw? Dla własnej satysfakcji. Mi np dużo radości sprawia później testowanie programu/gry, które sam napisałem (często z trudem i burzą mózgów) od podstaw :)

    None

  • Bambucza

    #14 Bambucza 2008-07-07 10:06:08 0

    Piszac cos od podstaw szybciej to zrobie niz naucze sie jakiegos frameworka, cms-a, modulow , zrobie modyfikacjie itp samo zycie.

    Tworze duze systemy informatyczne w php jezeli cms-y mialy by 60-80% funkcjonalnosci ktorej potrzebuje wykorzystywal bym, ale tak nie jest. Specjalistyczne oprogramowanie to robienie wlasnego kodu. F

    Framewroki to porazka dla jakis lamerow co to wogole jest zawsze lepiej w 2 tygodnie napisac wlasny jak juz sie potrzebuje.

    None

  • ehhh

    #15 ehhh 2008-07-07 10:06:08 0

    Twoj artykul jest bez sensu jak ty sam. Wez sie uspokoj. Nie pisac bo inni pisza lepiej? Skad sie 'ci inni' biora, matole...

    None

  • Ivan Barazniew

    #16 Ivan Barazniew 2008-07-07 10:06:08 0

    >> F Framewroki to porazka dla jakis lamerow co to wogole jest

    >> zawsze lepiej w 2 tygodnie napisac wlasny jak juz sie

    >> potrzebuje.

    Nooo jak jesteś w stanie sam w 2 tygodnie napisać solidny obiektowy framework z obsługą bazy danych i szablonów, przetestować go i zdebugować, to poprostu gratuluje umiejętności....choć powinienem chyba napisać wyobraźni. Prawda jest taka, że frameworki powstały po to, żeby nie pisać po raz n-ty tego samego kodu. Co nie znaczy ze wszędzie trzeba ich używać. Jeśli czujesz taką potrzebę możesz pisać wszystko od podstaw, z doświadczenia wiem, że mniej boli reusowanie gotowego kodu, zwłaszcza w kwestii dostępu do bazy danych (weźmy takiego hibernate na przykład). Oczywiście jeśli potrzebujesz ultrawydajności lub bardzo skomplikowanego modelu biznesowego...lepiej napisz mechanikę sam.

    None

  • marcin2

    #17 marcin2 2009-06-23 20:31:34 0

    świetny artykuł i całkowicie prawdziwy.

    Pozdrawiam

    Marcin

    IP: 195.205.97.[...] Mozilla/5.0 (X11; U; Linux x86_64; pl-PL; rv:1.9b5) Gecko/2008032600 SUSE/2.9.95-25.1 Firefox/3.0b5

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł