Kezdőoldal » Számítástechnika » Programozás » Milyen hátránya származik...

Milyen hátránya származik valakinek abból, ha nem full oop-ben ír meg egy összetettebb oldalt?

Figyelt kérdés

Hanem csak részben oop illetve inkább function-ök használatával?


Megnéztem pár "egyszerűbb" cms forráskódját, és nem valami világos hogy mi miért van, most az a jó fajta programozás, vagy csak a másolás védelme érdekében van megbonyolítva?


2016. febr. 27. 13:57
1 2
 1/11 anonim ***** válasza:

Fordítva kell gondolkozni.

Nem abból származik hátrányod ha nem használsz OOP-t, hanem abból származik előnyöd ha használsz.

A legnagyobb előnyök a kód újrafelhasználhatóság és az átláthatóság.


Minden osztály csak annyi feladatot lát el és annyi adatot tárol, amennyire feltétlenül szüksége van. Az interfacek elkülönítésével a hibák is jóval egyszerűbben javíthatók.


Persze ha ez lesz életed első OOP programja, akkor ezekből nem sokat fogsz észlelni, de ha folyamatosan gyakorlod akkor rá fogsz érezni, mint hogyan érdemes és áldani fogod a dolgot.

2016. febr. 27. 17:23
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
100%
Hátrányod? Elsőnek semmi. Aztán ha egy-két év múlva hozzá kell nyúlni, akkor meg lekaparod a falat, hogy mi micsoda (persze, ha rosszul írod meg OOP-ban akkor is, de az más téma :D )
2016. febr. 27. 17:27
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
Próbáld ki és meglátod!
2016. febr. 27. 19:33
Hasznos számodra ez a válasz?
 4/11 anonim ***** válasza:
Az a hátránya, hogy többet kell dolgoznod - feltételezve, hogy nem a legelején vagy, és pár sornál összetettebbek a kódjaid.
2016. febr. 28. 03:33
Hasznos számodra ez a válasz?
 5/11 A kérdező kommentje:

És nincs erre valami jó módszer, hogy tudjam azt a logikát követni, könnyebben megtanulni?

Pl. ott a litecart, az index fájl tele van define-al, meg 3-4 fájl be van kérve egymásba, satöbbi...

2016. febr. 28. 07:19
 6/11 anonim ***** válasza:
100%

A világoin semmiféle hátrányod nem származik abból ha az oop-t hanyagolod. Sőt, bizonyos esetekben mellőzni is kell, bizonyos esetekben meg nincs is lehetőséged oop alkalmazására.


Itt egy-két vélemény:


[link]


Számos ismert kutató és programozó vizsgálta az OOP hasznosságát. Íme, egy nem teljes lista:


Luca Cardelli egy tanulmányt írt "Az objektumorientált nyelvek hibás mérnöki tulajdonságai" címmel.[1]

Richard Stallman írta 1995-ben: "Az OOP bevezetése az Emacs-ben nem jár egyértelmű előnyökkel; használtam OOP-t, amikor Lisp számítógépek ablakozó rendszerén dolgoztam, és nem értek egyet azzal az állítással, hogy ez a programozásnak egy magasabb szintje lenne."[2]

Egy Thomas Potok és társai által készített tanulmány[3] nem mutatott jelentős eltérést a produktivitásban az OOP és a procedurális programozás között.

Christopher J. Date megállapította, hogy az OOP és más technológiák – különösen a relációsak – összehasonlítása nehéz, mert az OOP-nek nincs egy közösen elfogadott, egzakt definíciója.[4] Date és Darwen[5] javaslatot tett az OOP egy elméleti kiegészítésére, amely OOP-t használ mint testreszabható típusrendszert, amely támogatja a relációs adatbázisokat.

Alexander Stepanov szerint az OOP matematikailag korlátozott nézőpontot biztosít, és szerinte "majdnem akkora átverés, mint a mesterséges intelligencia.


Paul Graham szerint az OOP célja, hogy egyfajta csordaszellemet képezzen, amely megakadályozza, hogy középszerű programozók középszerű cégeiknek túl nagy károkat okozzanak. Mindezt annak az árán, hogy cserébe lelassítja azoknak a programozóknak a munkáját, akik jobb vagy kompaktabb technikákat is ismernek.[7]

Joe Armstrong, az Erlang programozási nyelv feltalálója szerint "Az objektumorientált nyelvek problémája, hogy egy implicit környezetet is magukkal hoznak. Egy banánt kértem, de kaptam egy a kezében banánt tartó gorillát meg köré az egész dzsungelt."

2016. febr. 28. 15:55
Hasznos számodra ez a válasz?
 7/11 A kérdező kommentje:

Utolsó: ezt tetszik, és tényleg egyébként...


<?php


$var = 'value';

echo $var;


?> és ehelyett ez van


<?php


class Call

{

public $var;


public function set($var){

$this->var = $var;

}


public function get(){

return $this->var;

}


}


$call = new Call;

$call->set('value');

echo $call->get();


?>

2016. febr. 28. 17:43
 8/11 anonim ***** válasza:
Attól, hogy a kacsa nem tud úszni, nem a víz a hülye.
2016. febr. 28. 18:18
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:
Azért akik az OOP ellen lázítanak egy pillanatra gondolkodjanak már el. Egészen addig a pontig nincs előnyöd az OOP ből, amíg nem akarsz egy(vagy több, tök mindegy) új funkciót hozzáadni az osztályodhoz, ami csak bizonyos esetekben érvényesül - pl kezelőfelületet írsz, OOP ben elég egyszer megírnod az egér pozíciójának ellenőrzését, nem kell minden egyes gombnál, input mezőnél, akárminél. Persze, meg lehetne csinálni OOP nélkül is, és a copy paste miatt még csak nem is lenne egetrengetően nagy munka - nade, mi van akkor, ha később rájössz, úgy szar ahogy van? Újraírod, mindegyiknél - én személy szerint örülök, hogy ezt az időt új funkciók beépítésével tölthetem, nem teljes mértékig felesleges dolgokkal.
2016. febr. 28. 21:18
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

Én nem lázítok, ha rám céloztál, csak a kérdezőnek válaszoltam. Eszem ágában nincs elvetni az oop-t, de a full oop szemléletet károsnak tartom. Ez ugyanis az oka a nagy, kövér, lassú, memóriazabáló programok elterjedésének. Kellenek az objektumok, nagyon is kellenek, de csak módjával.

Annak nincs semmi értelme, hogy mindent objektumba gyömöszöljön az ember, ha szükséges, ha nem.

2016. márc. 1. 11:57
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!