2008. február 4., hétfő

Objektumorientált ASP

A mai napon ismét gazdagabb lettem egy értékes tapasztalattal.
Egy meglehetősen régi legacy kódba kellett belemásznom, nem kicsit. Az ominózus történet egy igazi keményvonalas ASP alkalmazás, egyenesen valahonnan az NT és az IIS 4 legmélyebb bugyraiból, de hálisten már W2k3/IIS6-on futtatva.
Hál' istennek jó ideje nem volt szerencsém efféle "remekművekhez", szinte kizárólag C#-ban működtem már egy jó ideje, az OO minden előnyét élvezve és minden hátrányát megszokva. Mivel az alkalmazás egy viszonylag független területén kellett újat alkotnom, ezen kívül mostanában kezdem magamévá tenni a TFD/TDD metódusokat, hát gondoltam egy merészet és úgy döntöttem szakmai fejlődésem érdekében és a világ megjobbításának szándékával ojjektumorientáltan fogok ASPzni, VBSben.

Nos, ha tömören kellene megfogalmaznom amit tapasztaltam, akkor leginkább egy ismert film hősét idézném, miszerint:
"Olyan érzés, mint sajtreszelővel rejszolni. Némiképp élvezetes, de leginkább fájdalmas."

Néhány dolgot azért felsorolok ami a fájdalmas kategória volt, főleg elrettentésképpen.
Elképzelhető, hogy néhány itt leírt dolog téves és csak az én ismereteim hiányosak, de meggyőződésem, hogy amire egy szkriptnyelvben 1 nap után nem jövök rá vagy nem találom meg a hálón, az nincs is. Vagy ha van nem, érdemes vele foglalkozni :)
Na szóval... Nincs konstruktor, még olyan sem mint mondjuk a JSben, ahol ugye IGAZI osztályok nincsenek is, de konstruktor-féle azért ott is akad.

Nincs typeof() függvény, de még hasonló sem, így adott esetben meggyőződni róla, hogy tényleg az van-e ott, aminek ott kell lennie, nagyjából lehetetlen.

Az adattagok és tulajdonságok láthatósága és működése valami horrorisztikus módon van kitalálva, hosszas vakarózással fogtam fel nagyjából, hogy miről is van szó. Privát tagot úgy írtam fölül mint a pinty, mindenféle set függvény nélkül, ellenben egy public tag lekérdezése csak hosszas és körmönfont úton volt elérhető.

Hamarost meggyőződtem róla, hogy az ASP borzalmait az OO nem, hogy enyhítené, hanem inkább súlyosbítja, így hát, amíg még lehetett gyorsan visszatértem az idétlen és ósdi, de legalább konzisztensen működő hagyományos szekvenciális ASP programozásra, mert azt arra találták ki és punktum.
Azt hiszem, ezután ha véletlenül eszembe jutna, hogy lehet egymáshoz köze a két dolognak (u.m. OO és ASP) elvonulok egy sötét sarokba és megvárom amíg elmúlik.

Nincsenek megjegyzések: