Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Programowanie proceduralne kontra OO w PHP

Jakie są Twoje wytyczne?

Zastanów się przez chwilę, jakie są Twoje wytyczne gdy piszesz aplikację w PHP. Często są one bardzo zbliżone, czasem nawet takie same. Może nawet są identyczne we wszystkich projektach, nad którymi pracujesz. Osobiście uważam, że należy dążyć do elegancji. Czym jest "elegancja" nie powiem, bo to temat na osobny artykuł. Ale często wprowadzanie zbyt dużej ilości wytycznych teoretycznych nie jest dobre dla projektu. Obiecane efekty mogą się okazać przereklamowane.

Wytyczne teoretyczne
  • Wprowadzić rozwiązanie tak, aby zmieściło się w jak najmniejszej ilości linii kodu
  • Myśl o problemie na poziomie problemu

Oczywiście, takie generalizowanie sprawia, iż dochodzimy do absurdu. Spójrzmy na to inaczej. No bo jak często programiści pracują w zgranym zespole, którego zadaniem jest napisanie kompleksowego, potężnego jednolinijkowego kodu, bez jakichkolwiek komentarzy, tylko po to, aby zmylić innych programistów, których zadaniem jest analiza tego kodu i jego rozbudowa? Z drugiej strony, jak często starsi programiści są biurokratami, pracującymi w prawdziwym amoku, by utworzyć interfejsy i klasy, które ograniczają nie tylko kolegów, z którymi współpracują, ale także elastyczność i szybkość samej aplikacji? A jeśli użytkownik chce później rozbudować kod, którego nie rozumie sam programista, co wtedy? To przykłady generalizowania. Widać już chyba, że to jest to, czego nie wolno nam robić. Mówimy wszakże o programowaniu-dla-ludzi.

Wytyczne praktyczne

Rozwiązanie praktyczne to takie, które przede wszystkim stawia na funkcjonalność. Jakie są jego zasady? Oto kilka z nich:

  • Pisz szybko, publikuj często
  • Niech kod działa tak szybko, jak to tylko możliwe
  • Zrób go elastycznym, łatwym do utrzymania i dystrybucji
  • Publikuj jako API

Pierwsze dwie reguły dotyczą programowania proceduralnego, drugie OO.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (6)
OOP a OP
Wtorek 13 Październik 2009 9:16:00 am - thek <thek_at_xxx.pl>

Z tym object-oriented i "zorientowany obiektowo" to nie jest tak prosto jak mówisz u podstaw OP i OOP leży bowiem co innego. Jaki jest podstawowy i niepodzielny, najniższy poziomowo element OP i OOP? W OP jest to proste - zawsze abstrakcyjny Object. Wszystkie dane, struktury są pochodną tej klasy. W OOP jest to właściwie nie do określenia, gdyż klasy są naszym dziełem i ewentualnie możemy taką funkcjonalność próbować wdrożyć. Stąd Java czy Smalltalk to OP a C++ "tylko" OOP.

Mała uwaga
Czwartek 20 Marzec 2008 4:00:03 pm - camelx <camelx_at_gmail.com>

Tekst jest bardzo dobry, dla mnie dosyć przydatny.
Mam tylko jedną małą uwagę - nie ma czegoś takiego jak programowanie "zorientowane obiektowo". Taki termin występuje co prawda w języku angielskim (Object-oriented programming), lecz tłumacząc na polski mówimy poprostu "programowanie obiektowe". W jęz. angielskim jest dodane słówko "oriented" ponieważ w termin mógł by byc mylony z "programowaniem obiektu".
Pozdrawiam

spoooko...
Sobota 21 Październik 2006 10:34:08 am - mokry <m.mokry_at_plusnet.pl>

Art naprawde fajny.
Programuje juz kilka lat, siedze glownie na PHP4 i jak dotad bardzo rzadko korzystalem z OO. Po przeczytaniu w wielu godzin przemyslen nad swoim dotychczasowym kodem stwierdzam ze niektore z nich faktycznie mozna bylo duzo prosciej i lepiej napisac w OO...
Polecam przeczytac

naprawdę niezły kawałek tekstu :)
Wtorek 05 Wrzesień 2006 11:49:19 am - xixek

tak. to jest to. nie wiedziałem połowy z tych rzeczy a przecież programuję już kilka lat... Więcej takich artykułów poproszę!
pozdrawiam!

Daje wiele do myślenia...
Sobota 22 Lipiec 2006 7:14:43 pm - athlan <athlanster_at_gmail.com>

Bardzo przydatny artykuł... dał mi wiele do myślenia. Osobiście jesteś zwolennikiem kodu proceduralnego, ale po głębszych przemyśleniach mogę stwierdzić, iż nie wszystko trzeba pisać "na szybko", dzieki za arta :)

optymalizacja
Piątek 14 Lipiec 2006 12:00:35 pm - mroq

pewnie zaczne flejma, ale niech se autor artykułu zrobi w oscommerce drzewko kategorii skladajace sie z kilkunastu tysiecy galezi... i wtedy pogadamy o optymalizacji

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2020 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System