Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wartosc oprogramowania
Forum PHP.pl > Inne > Hydepark
hhg
po przeczytaniu artykulo o programowniu obiektowym mam pytanie
czy kod napisany strukturalnie ma nizsza wartosc niz obiektowo?

przez 'wartosc' rozumiem zarowno $kase jak i jakosc kodu

z gory dzieki za odp
mike
Na oba pytania: tak
(dopuszczam istnienie rzadkich wyjątków)
hhg
Cytat(mike_mech @ 8.01.2007, 23:54:09 ) *
Na oba pytania: tak
(dopuszczam istnienie rzadkich wyjątków)

i jeszcze czy najlepsze jest OOP czy moze zloty srodek miedzy strukturalnym a OO?
dr_bonzo
Kod ma byc czytelny dla czlowieka, latwy w rozbudowie, przyjjemny w uzyciu (zamiast durnego API), itd. Jak poznasz OOP nie bedziesz chcial inaczej pisac smile.gif
mike
Cytat(hhg @ 8.01.2007, 23:57:32 ) *
i jeszcze czy najlepsze jest OOP czy moze zloty srodek miedzy strukturalnym a OO?
Na podstawie swojego doświadczenia wiem jedno: nie ma złotego środka pomiędzy OOP a programowaniem strukturalnym. A jeśli nawet to złotym bym go nie nazwał.
Programuje się strukturalnie albo obiektowo, ale nie strukturalnie i obiektowo.

(pomijam oczywiście inne style programowania, na przykład aspektowe)
tes
Cytat(mike_mech @ 8.01.2007, 23:54:09 ) *
Na oba pytania: tak
(dopuszczam istnienie rzadkich wyjątków)


Nie zgodzę się z tym, pomimo iż tak samo nie wyobrażam sobie pisania aplikacji strukturalnie.
Wydaje mi się, że dobrze napisany kod strukturalnie jest tak samo wartościowy jak ten napisany obiektowo. Co do kasy to zależy od wymagań klienta, jeśli jest mu wszystko jedno to wiadomo, a jeśli nie to i tak musimy się do niego dostosować.
sztosz
JA jestem raczej końcowym użytkownikiem i również nie zgodzę się z tym że "obiektowy" kod jest zawsze bardziej wartościowy. Dla mnie liczy sie przede wszystkim wydajność. Tak więc szybki program "strukturalny" będzie dla mnie bardziej wartościowy od wolnego, ale "obiektowego".

Są oczywiście jak wszędzie wyjątki, jeżeli potrzebujemy kod który będzie często modyfikowany lub poprawiany to jednak w wielu przypadkach lepszym wyjściem będzie wolna "obiektowość" niż szybka "strukturalność".

Proszę mnie nie zrozumieć źle, wcale nie twierdzę że kod "obiektowy" jest wolny, czy że zawsze jest wolniejszy od "obiektowego". Ja jedynie skupiam się na takim jednym przypadku. Bo jeżeli kod "obiektowy" będzie tak samo szybki jak ten "strukturalny", to wybiorę ten obiektowy właśnie ze względu na jego przejrzystość i łatwość rozbudowy. Chociaż czasem "strukturalny" jest bardziej przejrzysty od tych "obiektowych" ale to już inna para kaloszy... winksmiley.jpg
kszychu
Dla użytkownika końcowego, który dostaje ode mnie SKOMPILOWANY kod programu ma to takie znaczenie, jak temperatura przy gruncie w lipcu na biegunie północnym. Ważne, by to było szybkie.
sztosz
@krzychu: To zależy też jaki to jest użytkownik końcowy. Bo jeżeli ja dostaje tylko skompilowany gotowy produkt, to masz rację że nie będzie mnie obchodzić jak był napisany. Ale jeżeli oprócz tego dostaję źródła w których muszę/mogę zrobić drobne poprawki ew. opiekować się aplikacją dostosowując ją do potrzeb zmieniających się, ale tylko delikatnie na przestrzeni sporego okresu to dla mnie ma znaczenie przejrzystość kodu oraz jego szybkość.
mike
Cytat(sztosz @ 9.01.2007, 14:20:54 ) *
@krzychu: (...) Bo jeżeli ja dostaje tylko skompilowany gotowy produkt, to masz rację że nie będzie mnie obchodzić jak był napisany. Ale jeżeli oprócz tego dostaję źródła w których muszę/mogę zrobić drobne poprawki ew. opiekować się aplikacją dostosowując ją do potrzeb zmieniających się, ale tylko delikatnie na przestrzeni sporego okresu to dla mnie ma znaczenie przejrzystość kodu oraz jego szybkość.
Zacząłeś pisać do rzeczy ale po podkreślonym ale nastąpił wylew głupot.

Kiedy firma X zamawia aplikację u firmy Y to po to to robi by nie musieć jej pisać, aktualizować oraz przejmować się kodem. Jeśli mieliby sobie dostosowywać, przepisywać, etc. to sami sobie napiszą coś co spełnia ich oczekiwania.
A co do oczekiwań to po to są w pierwszej kolejności managerowie, analitycy oraz leaderzy aby napisana aplikacja spełniała w 100% oczekiwania.
(Uwaga! tutaj meritum sprawy) A jeśli ich nie spełnia to wszelkie poprawki wykonuje wspomniana firma Y (wykonawca) a nie X (zleceniodawca). Więc to wszystko co napisałeś po ale tyczyć się może co najwyżej liczników gości napisanych na zamówienie.

I teraz wyjaśnienie dlaczego odpowiedziałem tak w swoim pierwszym poście: kod wartościowszy to taki kod, który jest przejrzystszy, łatwy w rozbudowie, łatwy w utrzymaniu, lepiej udokumentowany, ..... (i tu mógłbym długo wymieniać zalety programowania obiektowego).


P.S.
Wspomniałeś jeszcze o tym że programowanie obiektowe jest wolniejsze. Czy na pewno?
Szybkość to pojęcie względne i na szczęście dalece drugoplanowe i nie decydujące przy wyborze stylu pisania. Więc argument chybiony.
dr_bonzo
@mike_mech:
Cytat
Proszę mnie nie zrozumieć źle, wcale nie twierdzę że kod "obiektowy" jest wolny, czy że zawsze jest wolniejszy od "obiektowego". Ja jedynie skupiam się na takim jednym przypadku. Bo jeżeli kod "obiektowy" będzie tak samo szybki jak ten "strukturalny", to wybiorę ten obiektowy właśnie ze względu na jego przejrzystość i łatwość rozbudowy. Chociaż czasem "strukturalny" jest bardziej przejrzysty od tych "obiektowych" ale to już inna para kaloszy...
mike
Tak, ~dr_bonzo, wiem.
Dlatego wspomniałem o tym w post scriptum.
Co w sumie i tak nie ma sensu bo, skoro
Cytat
Ja jedynie skupiam się na takim jednym przypadku.
, to jest to żaden argument. Tak bardzo pojedyncze przypadki nie mają większego znaczenia w ogólnej dyskusji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.