Szoftverfejlesztés

24
nov

Do not overcomplicate problems

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Do not overcomplicate problems bejegyzéshez

Everything should be made as simple as possible, but not simpler. – Albert Einstein A legjobb megoldás a legegyszerűbb. Akkor egyszerű egy megoldás, ha már nem lehet belőle elvenni semmit anélkül, hogy információt veszítenénk. Az optimum a minimum. Az egyszerű megoldásokat tartalmazó szoftver előnyei: Az ember hajlamos arra, hogy túlbonyolítsa […]

Read More
16
nov

How do I divide an application up into packages?

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) How do I divide an application up into packages? bejegyzéshez

Az első dolog, amivel szembesülünk, ha egy program forráskódjával elkezdünk megismerkedni, az annak könyvtárszerkezete. Nem kérdéses, hogy ez a szerkezet nagymértékben meghatározza azt, hogy mennyire vagyunk képesek megérteni a programot. Ha a program könyvtárszerkezete jó, akkor: könnyen megtalálható egy keresett funkció könnyen eligazodunk, nem veszünk el a könyvtárhierarchiában Ha a […]

Read More
11
nov

Composition or Inheritance – How to Choose?

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Composition or Inheritance – How to Choose? bejegyzéshez

Egy korábbi előadásban a kompozíció előnyeit vizsgáltuk a származtatással szemben. Ennek folytatásaként most azzal foglalkoznék, hogy hogyan tudjuk eldönteni, hogy vajon mikor érdemes származtatni és mikor kompozíciót használni? Könnyen beleeshetünk abba a hibába, hogy egy feladatot származtatással kezdünk megoldani, ami önmagában még nem rossz dolog, de ha az igények változása mellett is ragaszkodunk ehhez […]

Read More
05
nov

Lazy Function Definition Java 8-ban

Posted by | | Szoftverfejlesztés | Nincs hozzászólás a(z) Lazy Function Definition Java 8-ban bejegyzéshez

Minap belefutottam egy olyan problémába, ahol is arra volt szükségem, hogy egy metódus első hívásra másképp viselkedjen, mint majd későbbi hívások során fog. A megszokott és kézenfekvő megoldás, hogy legyen egy boolean first osztályváltozónk, amely true értéke esetén végrehajtódnak az első híváskori műveletek, majd false-ra állítva ezt a booleant, végrehajtódnak […]

Read More
02
nov

Favor ‘object composition’ over ‘class inheritance’

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Favor ‘object composition’ over ‘class inheritance’ bejegyzéshez

Néha olyan kézenfekvőnek tűnik, hogy egy funkcionalitás kiterjesztése érdekében származtatunk. Egy osztály, nagyon jó, nekem pont ez kell, csak azt egy picit másképp kell csinálnom, de jó lesz.” Olyan egyszerű és olyan kevés munka, csak egy metódust kell felülírni. De biztos, hogy ez mindig jó? Mi van, ha egyszer csak […]

Read More
26
okt

Why do I hate static methods

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Why do I hate static methods bejegyzéshez

Az a benyomásom, hogy a statikus metódusok több nehézséget okoznak, mint amennyi előnyük van. Sokan mondhatják, hogy a statikus metódusok jók, mert: Azonban úgy gondolom, hogy inkább ezen előnyök épp a hátrányai is a statikus metódusoknak. A szoftver mindig változik, s ha nem figyelünk oda, akkor egy idő múlva el […]

Read More
19
okt

What makes a good unit test?

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) What makes a good unit test? bejegyzéshez

Hányszor írtam már rettenetesen hoszzú unit tesztet, amelynek nagy része az előfeltételek meghatározásából tevődött össze? Mockoltam egy csomó osztályt és metódusait, bemenő paramétereket hoztam létre, inicializáltam azokat, majd meghívtam a tesztelendő metódust, s végül rengeteg assertem volt és még azt is ellenőriztem, hogy a mockolt objektumokon mely metódusok, mely paraméterekkel […]

Read More
12
okt

Divide and Conquer

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Divide and Conquer bejegyzéshez

Van úgy, hogy elveszel egy adott problémában, beszűköl a látóköröd, és úgy érzed egyszerűen túl bonyolult ahhoz, hogy fogást találj rajta, hogy megold?  

Read More
05
okt

Tell, Don’t Ask principle

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Tell, Don’t Ask principle bejegyzéshez

Ez az elv nagyon az objektum orientáltság alapjait érinti, de mégis úgy vélem, érdemes megemlíteni azt, hogy fontos, hogy az osztály tudja mi az ő feladata, és ne belső állapotának függvényeként dolgozzunk vele.  

Read More
28
Sze

Talk to friends, not to strangers

Posted by | No Tags | Egy csésze kávé · Szoftverfejlesztés | Nincs hozzászólás a(z) Talk to friends, not to strangers bejegyzéshez

A tudatlanság áldásos. Minél kevesebbet tud egy osztály a környezetéről, annál kevésbé lesz érzékeny a környezete változásaira.  

Read More