- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Elektromos rásegítésű kerékpárok
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Geri Bátyó: Megint tahó voltam – SZEMÉLYISÉGFEJLŐDÉS
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- btz: Internet fejlesztés országosan!
- LordAthis: AI (és másra is használt) Cluster építése - Második Cikk
-
LOGOUT
Új hozzászólás Aktív témák
-
#78600448
törölt tag
Üdv mindenkinek!
Azt szeretném kérdezni kezdőnek milyen nyelvvel érdemes kezdeni a programozás világában?
Válaszokat előre is köszönöm!
Szép estét.Főnix
-
válasz
s1999xx #12692 üzenetére
SRP - Single Responsibility Principle, a neve kb elmagyarazza.
A peldad amugy jo, csak az felejted el, hogy minden classnak lehetnek memberjei, amik szinten lehetnek classok.
Mondok egy masik peldat, hogy ertheto legyen.
Ha irsz egy osztalyt, ami primszamokkal dolgozik, mondjuk ugy, hogy vannak fuggvenyei, amik primeket keresnek, vagy megmondjak az adott primek szamat egy adott intervallumon belul, vagy ikerprimeket keresnek vagy akarmi, akkor se az a class neve, hogy "HasAtLeastAnArrayAndSomeIntegersByTheWayHasItsOwnThreadAlsoTakesParameters", hanem hogy mittudomen PrimeCalculator vagy akarmi.Mondjuk mashogy: Az osztaly nevebol azt kell tudni, hogy mit csinal, es az OOP szepsege, hogy pont leszarod, hogy hogyan. Teged az erdekel, hogy mit csinal, es ehhez mire van szuksege. Ezt tartalmazza a signature.(esetleg erdemes kicsit kesobb meg megnezni, mi az, hogy design by contract)
Nezzuk a peldadat:
Auto motorja. Mit csinal? Mozgatja az autot. Ha Te egy autot veszel, es feltetelezzuk, hogy nem vagy szaki, akkor nem az fog erdekelni, hogy az auto motorjaban hany darab alkatresz van, milyen muszaki kovetelmenyekkel, mert pont leszarod.
Az auto mozgatasa szempontjabol az erdekel, hogy milyen tipusu uzemanyagot fogyaszt es milyen "eroben" van. Amikor az autot aruljak se azt irjak ra, hogy motorter tartalma: szivattyuk (4db), uzemanyagcsovek(4m), szelepek(16), stb stb stb, hanem hogy 2.0 benzin es kesz. (Sot, ujabban meg ezt sem, csak kap valami fantazianevet, pl KJM16 -> 1.6os KurvaJoMotor.)
Peldankban a motor classnak amit felsoroltunk a memberjei. Aki inicializalja a motor classt, es utana hivogatja a "lefetyeljenek a paripak!" fuggvenyt (indit - tapossa a gazt), az pont leszarja, hogy kozben milyen szelep allasa micsoda meg stb.
Aki irja a motor osztalyt, azt mar erdekli, de azt se annyira melyen, ot az erdekli, hogy letezik-e olyan "benzinpumpa" osztaly, ami megfelel az elvarasainak. Aki meg a benzinpumpat tervezi, leszarja, hogyan gyartjak a csapagyat, az erdekli, hogy van-e olyan csapagy, ami megfelel a kovetelmenyeinek, es igy tovabb, egeszen addig, amig az igazan low level szintig el nem jutunk, ami pedig esetunkben a banyaszat. De neked, mint a motor osztaly felhasznalojanak hala egnek nem kell tudnod, hogy melyik alkatreszhez hol banyasztak micsodat, kulonben soha nem keszulne el semmi.Konkluzio: A single responsibility mindig a hivo/felhasznalo kontextusabol ertelmezendo. nem azt jelenti, hogy az osztaly nem csinalhat csak egy dolgot a hatterben, hanem hogy a felhasznalo szempontjabol (aki hasznalni fogja) egy feladatra egy osztalyt hasznalunk, es egy osztaly egy feladatot lat el.
Remelem sikerult erthetoen
eltulmagyaraznom. -
biker
nagyúr
Próbáltam, lefordítottam VS-el, ugyanúgy exception, csak már W10 designolt ablakkal, nem classic ablakkal
Nem tud valaki más működő progit erre a célra?
- két bill kiosztás kezelése (HUN-ENG)
- beviteli eszközhöz kapcsolás, barcode=eng, keyboard=hun
Sajnos sok vonalkód olvasó már nem tudja a numpad emulációt, és ha magyarra állítom, akkor ALT+keycode-ot pötyög be, ami egyrészt lassú, mert 6x annyi karaktert küld át, másrészt a böngésző elnavigál a tabok közt ettől -
biker
nagyúr
válasz
tboy93 #12685 üzenetére
win10-ig volt külön manager erre, de it megfogom, bedobom a startup items mappába, és ott már mit kezdek vele? Hülye maces vagyok, bocs érte
Régen volt feladatkezelő, új elem felvétele, induljon el, és ki lehetett pipálni, hogy administtrator joggal fusson.update: kézzel elindítom admin joggal, ugyanez, minden második olvasáskor dobja a kivételt, nem is minden olvasáskor.
-
biker
nagyúr
Tudna valaki segíteni ebben a hibában? van egy rightkeyboard program, ami cserélgeti a kiosztást, ha magyar/angol is van, magyar bill, angol vonalkód olvasó pl.
Újabban win10-en ilyen hibákba futok, ha magyarról angolra váltana a vonalkód olvasó (nincs hiba ha magyarra váltana a billentyűzet)
Tud valaki javasolni, mi lehet a jogosultsági hiba?Lásd az üzenet végét ezen párbeszédpanel helyett
az igény szerinti hibakeresés megjelenítéséhez.************** Kivétel szövege **************
System.UnauthorizedAccessException: A hozzáférés megtagadva. (A kivétel HRESULT-értéke: 0x80070005 (E_ACCESSDENIED))
a következő helyen: RightKeyboard.MainForm.SetDefaultLayout(UInt16 layout)
a következő helyen: RightKeyboard.MainForm.CurrentDeviceChanged(IntPtr hCurrentDevice)
a következő helyen: RightKeyboard.MainForm.ProcessInputMessage(Message message)
a következő helyen: RightKeyboard.MainForm.WndProc(Message& message)
a következő helyen: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
a következő helyen: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)************** Betöltött szerelvények **************
mscorlib
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8937 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
RightKeyboard
Szerelvény verziója: 1.0.0.0
Win32-verzió: 1.0.0.0
Kódbázis: file:///C:/Users/GYMM/AppData/Roaming/Microsoft/Windows/Start%20Menu/Programs/Startup/RightKeyboard.exe
----------------------------------------
System.Windows.Forms
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8938 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
mscorlib.resources
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8937 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_hu_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Xml
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Szerelvény verziója: 2.0.0.0
Win32-verzió: 2.0.50727.8922 (WinRelRS4.050727-8900)
Kódbázis: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------************** Igény szerinti (JIT) hibakeresés **************
Az igény szerinti (JIT) hibakeresés engedélyezéséhez fel kell venni
a jitDebugging értéket az alkalmazás .config fájljába, illetve a
gépkonfigurációs fájlba (machine.config), a system.windows.forms
szakaszba. Emellett az alkalmazást a hibakeresés engedélyezésével
kell lefordítani.Példa:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>Ha engedélyezve van az igény szerinti hibakeresés, akkor a nem kezelt
kivételeket a rendszer a számítógépen regisztrált JIT-hibakeresőnek
küldi el, és nem a jelen párbeszédpanel megjelenítésével kezeli. -
Domonkos
addikt
Van arrol valakinek infoja, hogy mekkora ero kell mukodtetni egy ilyen kapcsolot?
Vajon az IBM Model F kapcsolojanak kalapacsa meg tudna nyomni, ha az eredeti nyakot kicserelem egy ilyenbol allo matrixra? Egy baratomat erdekli
-
válasz
s1999xx #12676 üzenetére
Szerintem egy feladatot rengeteg nyelven meg lehet jól oldani. Pl. nagysebességű tőzsdei rendszert írtak már C, C++, Java, C#, OCAML, etc nyelven, van belőlük jó és gyenge is.
Ez a szöveg, hogy "a problémának megfelelő nyelv" legtöbbször nem túl releváns. Sokkal érdekesebb, hogy pl. a csapat mihez ért, milyen a piac programozók szempontjából, etc.
Például az OCAML elég lassú volt a múltban (nem volt hozzá optimalizált fordító, stb.) Programozó még alig van a piacon.
Ehhez képest a Jane Street csak ezt használja, és extrém sikeres a cég. Konkrétan a New York-i Metropolitan egyetemen tartanak OCAML kurzust hogy legyen utánpótlás fejlesztőből. Miért? Mert ők úgy tapasztalják, hogy akit az OCAML érdekel, az várhatóan okosabb, érdeklődőbb, etc. Cserében a cég tartja karban a nyelvet, kb.
-
kovisoft
őstag
válasz
s1999xx #12668 üzenetére
Azért az kérdés, hogy a "Funkcionális programozás F# nyelven" tantárgyban mennyi a "Funkcionális programozás" és mennyi az "F# nyelv". És hogy mit értesz "programozni kell megtanulni alatt". Azt-e, hogy már mindenféle paradigmát el is sajátított (objektum orientált, funckionális, stb)? Mert akkor a nyelv tényleg nagyjából mellékes. De annak, aki eddig nem ismerte a funkcionális programozást, biztosan tartogat újdonságokat egy F# kurzus.
-
Domonkos
addikt
válasz
s1999xx #12668 üzenetére
Hat mert gondolom nem mindegy az, hogy mennyire konnyu/komplex a nyelv es hogy a kis fricskai mennyire akadalyoznak a tanulasban.
Szerintem nem veletlenul ajanljak tobben valamelyik python-t kezdeshez, mint akarmelyik C-t.
Viszont abban egyetertek, hogy egy uj nyelvet megtanulni konnyu. -
Domonkos
addikt
válasz
DrojDtroll #12665 üzenetére
Izlesek es pofonok kulonboznek; en anno ruhelltem. Haskell, erlang es elixir sokkal jobban tetszettek.
-
válasz
DrojDtroll #12665 üzenetére
Abszolút. F# nagyon szépen megcsináltál nyelv, sokat fogsz belőle tanulni.
-
DrojDtroll
veterán
Sziasztok!
Mérnökinformatikus hallgató vagyok. C#-ban és C-ben van tapasztalatom. Lesz idén egy választható tantárgy: Funkcionális programozás F# nyelven.érdemes ezzel foglalkoznom?
-
GreenIT
tag
Kicsit off:
Emlekszik valaki, mi a neve egy autogyar altal elkezdett rendszernek - en a Bentley-re emlekeztem, de webes kereses nem adott talalatot - amit kesobb Unix alatt az IBM fejlesztett tovabb es repulogepgyartok hasznaltak, illetve hasznalnak a mai napig?
A lenyege az volt, hogy amikor modositottak egy modellen, akkor bizonyos alkatreszeket is modositani kellett, ezert olyan nyimvantartas kellett, ami pontosan megmondta, hogy adott verzioju termekhez milyen alkatreszek illetve elemek kellenek es azoknak mik a parameterei.
-
GreenIT
tag
válasz
dabadab #12632 üzenetére
Szerintem nincs nagyon más UML-en kívül, de azért én se rajongok, mert az UML osztálydiagrammok számomra egyáltalán nem intuitívek.
Hasonlo gondom van, amikor felskiccelek egy folyamatabrat, allandoan vitak jonnek, hogy az altalam rajzolt elem az nincs az UML-ben, csak az enlogikamban letezik.
Ugyanakkor latva a visio es smart es mar programokban levo elemkeszletet, rengetegfele megoldas van, csak nem hasznalatosak.
Letezik egy leiras, hogy milyen tipusu folyamatabraban milyen elemek hasznalhatoak, vay neki kell allnom letrehozni egy sajat rendszert?
-
Szerintem amugy ezt a vitat rovidre lehet zarni azzal, hogy ertelmesen, jol csinalva nagyon is jo dolog az OOP, rosszul csinalva meg meg a szex is szar, ugyhogy arrol meg beszelni se erdemes, akkor se, ha van ra pelda boven.
-
válasz
dabadab #12658 üzenetére
> névlegesen OOP, gyakorlatilag meg egyáltalán nem az
Ja, ezt ismerem, ez remes.
> Ha nincs semmi se szétszedve, hanem a kód bármelyik részéről bármelyik adatot lehet kezelni, az rettenetesen átláthatlan kódot eredményez, ahol minden kis változtatásnak ezernyi előre nem látható következménye lesz.
Sehol nem mondtam, hogy mindent mindenhonnal el kellene erni. Nem a fogalmatlan hekkelest allitottam az OOP alternativajanak.
-
válasz
#57018880 #12651 üzenetére
"Ha értően olvasnátok, akkor látnátok, hogy csak abban nem értek egyet, hogy univerzálisan #1 rangon agyalnak rajta, ahol még se értelmes specifikáció, sem pedig implementáció nincs, de a paradigmák már bele vannak vájva a kőbe."
Ezt meg nem is értem.
Egyrészt nyilván a paradigmák megelőzik az implementációt (mert hogyan máshogyan? megírod funkcionális nyelvben és utána döntöd el, hogy OO legyen-e?...), másrészt meg a specifikációnak azért mindenképpen illene bármit megelőzni, harmadrészt meg a clean code nem paradigmákról szól. -
Valahogy nem tudok ezzel együttérezni, mert én most éppen egy olyan kódot rugdalok, ami névlegesen OOP, gyakorlatilag meg egyáltalán nem az és emiatt elég jó látszik az, hogy miért NEM hülyeség az OOP. Ha nincs semmi se szétszedve, hanem a kód bármelyik részéről bármelyik adatot lehet kezelni, az rettenetesen átláthatlan kódot eredményez, ahol minden kis változtatásnak ezernyi előre nem látható következménye lesz.
Nyilván van egy csomó igazság abban, hogy az OOP sem tökéletes megoldás mindenre, sőt, bármilyen kellőképpen nagy programnál előjön egy csomó probléma, de még mindig jobb, mint a teljesen fogalmatlan hekkelgetés.
-
Ezek kozul szerinted melyik resz az, ami nem all elo akkor, ha szepen kodolsz?
- gyors kod
- jol mukodo kod
- tesztelt kod
- verifikalt kod
- rovid kod
- keves memoriat hasznalo kodMert szerintem ertelmes keretek kozott ezek konkretan benne vannak abban, hogy a kod minosege jo.
Nyilvan elofordul olyan, hogy szarra kell valamit optimalizalni, plane ha beagyazott rendszerekkel is dolgozol, es akkor sajnos tenyleg az van, hogy a kod egy hanyas lesz, es megprobalod valahogy sok kommenttel erthetove tenni, hogy mit csinal miert, de azert ez boven nem altalanos. -
válasz
s1999xx #12653 üzenetére
Tobbfele keppen lehet ennek nekiallni. En C++ban dolgozok altalaban, ugyhogy abban fogom elirni, hogy nezne ez ki, mas nyelvben valszeg mashogy csinalnam, de az alapelv ugyan az, csak a nyelvi szerkezetek, meg az adott nyelv standard library-ja az elteres.
Igy hirtelen nalam ugy nezne ki, hogy van egy Reader osztaly, aki konstrukcios idoben kapja az adatra a pointert/referenciat, es van neki egy getNextLine metodusa. Nem baszakodnek azzal, hogy ilyen-olyan orokos osztaly meg stb, a reader readel, nem kell neki dontenie semmirol. Ha file-bol olvasol, akkor meg lenne egy opener is, akinek annyi a feladata, hogy megnyit egy file-t, aztan meg bezarja. A reader ne csinaljon semmi mast, siman visszater egy stringgel, ami az adott sor.
Ezt a getNextLine fuggvenyt hivogatja a parser, aki viszont nem torodik azzal, honnan jon az adat, szarik mindenre, az O feladata a kapott sor kategorizalasa.
Aztan az mar a kategorizalas komplexitasatol fugg, hogy elfer a parserben, vagy a parser csak bont es tovabbadja az adatot mondjuk valami statisztika tarolo-szamolo osztalynak.
Vegyuk eszre, hogy nincs oroklodes, nincs interface, nincs pure virtual, nincs semmi ilyen baromsag, az egesz teljesen modularis es barmelyik resze barmikor cserelheto a nelkul, hogy minden mast eltorne, minimalis munkaval, plusz az osztalyok, fuggvenyek, valtozok neve beszedes.Amikor szep kodrol beszelek, errol beszelek. Nem kell mindent ezer patternbe eroszakitani, mert baromsag, a feladat bonyolultsaga amugy se teszi szuksegesse. Ami nekem meg altalaban van, az egy Logger osztaly, es akkor nincs minden tele std::cout meg printf meg stb-vel.
Ha pl az emlitett kategoriaid szamossaga fix, nem on the fly futtasi idoben kell kitalalni oket, akkor arra pl jo otlet egy enum, amiben benne vannak a kategoriak, es akkor attol fuggoen, mire van szukseged, eltarolod, hogy melyik sor melyik, vagy hogy melyikbol mennyi van, vagy amit akarsz, eleg konnyu innentol.
Ismetlodes szinten, nem biztos, hogy kell ra osztaly, lehet egy sima struct is boven eleg, vagy meg az se kell.
"Kell egy metódus, ami a sor ismert részeit kivágja a text-ből és változókba pakolja"
Ez nekem ugy hangzik, hogy neked itt kell egy vector, amiben struct-ok vannak, nem kell bonyolitani. -
> programozas szempontjabol konkretan nincs fontosabb, mint a szep kod
Mondok egyebet:
- gyors kod
- jol mukodo kod
- tesztelt kod
- verifikalt kod
- rovid kod
- keves memoriat hasznalo kodEzek mind lehetnek fontosabbak, mint a 'szep' (== olvashato, jol strukturalt) kod. Tenyleg nem azt mondom, hogy nem fontos a jo kodminoseg (harcolok erte eleget), de nem ennyire fekete-feher a dolog.
Peldaul nekem ne mondja senki, hogy az IOC segiti az olvashatosagot meg a szep kodot; a fenet. Viszont lehet vele rendesen tesztelni.
-
> De kategorikusan kijelenteni, hogy az OOP baromsag azert eleg durva.
Nem baromsag, nyilvan. Viszont azt erdemes latni, hogy az OOP-mania utan kezd visszalengeni az inga, es az OOP-val is erdemes csinjan banni, mert irgalmatlanul el tudja bonyolitani a nagy projekteket, mert az allapotok 'szet vannak szorva' OOP-ben, jellemzoen (ha meg nem, akkor az meg OOP-nek eladott valami).
Konkret problemak:
- multiple inheritance nelkul kb. az problema, mint az identity politics eseten: a kategoriakba sorolas sosem egyertelmu (ahogy megy elore az elet)
- multiple inheritance-el a programozok nagyresze nem tud banni
- a programozok nagy resze azt gondolja, hogy az osztalyoknak valamifele valos eletbeli kategoriaknak kellene megfelelnie, de az rendkivul merevve teszi a programot, es helyette 'trait'-eket kellene hasznalni mindenhol (tehat az 'animal' nem egy jo osztaly, a 'hasfourlegs' mukodik, es flexibilisebb)
- az enkapszulaciora nincs 'jo' megoldas, mert most ha van egy Message meg egy PostBox osztalyod, akkor lehet az, hogy Message::deliverTo(PostBox) meg az is, hogy PostBox::receive(Message), es nincs elfogadott okolszabaly arra, hogy ilyen esetekben mit kell valasztani
- mutabilis objektumoknal rendkivul gyakoriak a konkurrencia-problemak, az immutability meg szembekopi az OOP tobb alapelvetKb. meg otven dolgot fel tudnek hozni, de nyilvan nem tul konkret most ez a beszelgetes
-
válasz
#57018880 #12651 üzenetére
De kodrol egyaltalan minek beszelni, ha meg azt se tudjuk, mit akarunk csinalni?
Folyamatban nyilvan nem az az elso, hogy leulok kodot irni, folyamatban az valoban az utolso elso lepes. De fontossagi sorrendben, onnantol, hogy megvan a speci, programozas szempontjabol konkretan nincs fontosabb, mint a szep kod. -
#57018880
törölt tag
Nem haragszom a véleményetekért, de ez felesleges izmozás a részetekről, alaptalan feltételezésekkel tarkítva.
Ha értően olvasnátok, akkor látnátok, hogy csak abban nem értek egyet, hogy univerzálisan #1 rangon agyalnak rajta, ahol még se értelmes specifikáció, sem pedig implementáció nincs, de a paradigmák már bele vannak vájva a kőbe.
Ezt még rakjuk kontextusba a kolléga 30 soros szkripjéhez, aztán felőlem mehet tovább a "de ti vagytok a zöldségek" mantra.
Mindegy, kiszálltam, kösz az emlékeztetőt, hogy miért nem érdemes prog fórumokra járni.
-
Persze, nyilvan. De kategorikusan kijelenteni, hogy az OOP baromsag azert eleg durva. Meg az is, hogy a code quality az n-edik fontossagi sorrendben egy barmilyen meretu projektnel. Ez bullshit.
Plusz, ha a kis projektet is szep koddal irod meg (szep kod != OOP), akkor az fog beleegni a kezedbe, es a nagyot is ugy fogod.
Nem ugy, mint sok kolleganal a gyakorlat, hogy az elso iteracio ugy nez ki, mintha lehanyta volna a billentyuzetet, mikozben harom reszeg gorilla pufolte, aztan kod lett belole, utana meg majd ugyan annyi idot raszan, hogy rendberakja. Borzalmas gyakorlat, raadasul soha nem lesz olyan minosegu az osszehanyt-foltozgatott-javigtatott kod, mint az, amit olyan irt, aki alapbol minden kodot szepen ir. -
válasz
#57018880 #12643 üzenetére
"Én nem a könyvre értettem, hanem az általános erőlködésre, hogy minden szinten minden esetre a kódminőségről megy az agyzsibbadás, nem lényegtelen csak mellette van pár kvázi sokkal fontosabb szempont. (minimum 3)"
Ne haragudj, de ezzel nagyon nem ertek egyet.
Ha trivialisnak vesszuk, hogy a kod, amit kiadtunk a kezunkbol azt csinalja, amit akartunk, hogy csinaljon, (marpedig ez a trivialitas netovabbja), akkor konkretan semmi nem marad, ami fontosabb, mint a code quality. Ha nem igy gondolod, akkor szerintem valamit nagyon nem ertesz, vagy csak soha nem dolgoztal meg olyan projekten, ami komplex es hosszutavu.Mellekesen megjegyzem, hogy semmi nem garantalja jobban, mint hogy a kod konkretan azt, es csak azt csinalja, amit akarunk, mint ha tartjuk magunkat egy eleg magas code quality szinthez, es ebbol nem engedunk.
A patternek pedig nem azert vannak, hogy ne kelljen gondolkodni, hanem azert, mert adott feladatra trivialis a hasznalatuk, ezzel javitva a kod minoseget, erthetoseget, olvashatosagat. Persze, ha valaki tulhasznalja a patterneket es mindent bele akar eroszakolni, az pont ugyan ugy hulye, mint aki csakazertis alapon nem hasznalja oket.Az OOP vitaba meg mar inkabb be se szallok, annyi furcsasagot sikerult itt osszehordani, hogy inkabb nem mondok ra semmit. Maradjunk annyiban, hogy dabadab kollegaval ertek egyet mind clean code, mind OOP temakorben.
-
Ispy
nagyúr
válasz
s1999xx #12644 üzenetére
Én sohasem úgy állok neki, hogy na akkor most oop leszek és elkezdek ojjektumokat gyártani.
Sokszor simán lináris kódolás van, aztán később, ha úgy látszik van előnye átalakítani a kódot oop szemléletre, akkor átírom, egyébként egy kezelhetetlen classhalmaz lesz. Az oop gondolkodásnak sok előnye van, de ha csak ebben gondolkozol, akkor sok hátránya is, szvsz.
-
Domonkos
addikt
válasz
dabadab #12642 üzenetére
Mert minden hello world-nel bonyolultabb programot OO elvek alapjan kellene irni? Az lenne aztan csak az igazan meses.
En sem azt mondtam, hogy egyik "OO-beutesnek" sincs ertelme, csupan azt, hogy az OOP egeszeben (ha tenyleg szigoruan kovetik), akkor szerintem inkabb hatranyos. Legalabbis en olyan projekten meg nem dolgoztam, ahol ne kellett volna az OO elvekbol adodo akadalyokkal kulon kuzdeni; jo tervezes ide vagy oda.Esetleg filerendszereknel el tudom kepzelni, hogy hasznos, masra inkabb hanyagolom.
-
#57018880
törölt tag
válasz
dabadab #12642 üzenetére
Szerintem az applikáció méretétől és rendeltetésétől függ mennyire érdemes bele erőszakolni a paradigmákat egy kódba.
A másik amiért nem tetszik az a gondolkodás lustulása, mindig ugyanaz a reakció ugyanarra a helyzetre, habár kényelmes, de nem feltétlenül a legjobb. Ha mindig mindenre a "bevált praktikát" használod, elveted a lehetőségét a "jobban is beválhatna praktikának."
Én nem a könyvre értettem, hanem az általános erőlködésre, hogy minden szinten minden esetre a kódminőségről megy az agyzsibbadás, nem lényegtelen csak mellette van pár kvázi sokkal fontosabb szempont. (minimum 3)
-
válasz
#57018880 #12638 üzenetére
"Szerintem túl van agyalva a clean code"
Szerintem egyáltalán nincs. Alapvetően nincs benne semmi olyasmi, amit érdemes lenne NEM betartani.
(#12639) Domonkos:
"Amugy ha ez nem konkretan az OOP gyakorlasaert csinalod, akkor szerintem felejtsd el az OOP-t! Nem sok projektet tett eddig konnyebbe
"
???
Most ne haragudj, de írtál már hello worldnél bonyolultabbat?
Igazából a rendesen megírt nagy C kódok is erős OO-beütésűek, mert egészen egyszerűen annyira kézenfekvő és praktikus dolog.
-
Domonkos
addikt
válasz
s1999xx #12636 üzenetére
En meg azt javaslom, hogy ne egy programot irj, hanem inkabb harmat. Ebben a peldaban szukseged lesz egyre, ami szurni fogja az inputot, egyre ami a szurt adatokbol kigyujti a szukseges informaciot es egyre ami a kigyujtott informiciokbol keszit reportokat.
Ha ugyesen irod oket meg, akkor konnyu lesz megoldanod az in-memory dolgot (mondjuk pipe-ok hasznalataval) es az utolagos, hasznalat kozbeni konfiguracio is sokkal konnyebb lehet. Meg valoszinuleg az ossz kod mereten es komplexitasan is sporolhatsz egy kicsit.
Amugy ha ez nem konkretan az OOP gyakorlasaert csinalod, akkor szerintem felejtsd el az OOP-t! Nem sok projektet tett eddig konnyebbe -
#57018880
törölt tag
válasz
s1999xx #12636 üzenetére
Szerintem túl van agyalva a clean code, el kell döntened, hogy az alkalmazásod részei mennyire specifikusak-esetiek, általánosak-újrahasználhatóak legyenek. Eztán megnézni, hogy mit kapsz egy OOP felépítéstől, és ennek milyen pro-kontrái vannak, pl kell e az öröklés és a privát-elzárt működés.
Egy bement feldolgozásnál, ha nagyon fel akarod darabolni, akkor lesz egy publik bemenet, lehet akár már a konstruktorba, eztán mehetne egy container objektumba a többi dependency obj, vagy interface.
Aztán ott van, hogy ezt még bele szokták erőltetni egy SoC design mintába,.. csak, hogy legyen jó sok boilerplate code.
Legalábbis nekem perpill ez tűnik járhatónak, én jellemzően nem bonyolítom a dolgomat, ha nem muszáj
Aztán lehet, hogy teljesen mellé értettem a kérdést
-
válasz
s1999xx #12636 üzenetére
Az OOP-vel eleg sok baj van, az egyik gond az, hogy az adat es viselkedes asszocialasa csoppet sem egyertelmu (es nincs is feltetlenul 100%-osan korrekt megoldas).
A pelda, amit irsz, tipikusan rosszul mukodik OOP kornyezetben, sokkal jobban passzol a funkcionalis paradigmahoz. Amit te valoszinuleg csinalni fogsz, azok olyan osztalyok, amik allapotot nem nagyon, csak logikat tartalmaznak, es ugy fogjak oket hivni, hogy pl. 'Aggregator', aminek lesz egy 'aggregate' metodusa, igy tovabb.
En azt javasolnam neked, hogy ne feltetlen ragaszkodj az OOP-hez.
-
válasz
Zalanius #12625 üzenetére
Abban mar megvan a konszenzus, hogy onnantol, hogy az elvalasztokarakter szokoz gyakorlatilag nincs ra tokeletes megoldas, siman el tudok kepzelni olyan helyzetet, amibe egy ember is belezavarodik.
Innentol az jon, hogy probalunk minel jobb, egyszeruen, VBA-ban is konnyen megirhato kozelito-algoritmust adni, amit aztan ugyis at kell nezni manualisan is, ami azert csak rovidebb ido, mint kezzel szetszedegetni.bambano:Nekem is dereng valami, meg olyasmi is dereng, hogy KSH-nak is van (volt?) nyiltan elerheto varosnev adatbazisa, azt is lehet hasznalni, ha letezik meg.
-
bambano
titán
válasz
s1999xx #12622 üzenetére
október 23. utca 6/a, B lépcsőház, 6/12-es lakás.
Csajágaröcsöge, külterület, 237347 hrsz.
Debrecen, 15-ös posta, postafiók 25.ezek mind legális postacímek.
ráadásul ha kézzel rögzítették az utcaneveket, akkor lesz ott minden, Kosuth, Kossuth, Kosut, Kossút, út, utca, u. stb. meg olyan is, hogy moszkva tér, széll kálmán tér, majakovszij utca, stb. szécsényiék össze-vissza írták a nevüket attól függően, hogy melyikről van elnevezve a közterület...
(#12623) opr "hacsak nem talalsz egy olyan adatbazist, amiben minden varos minden utcaja szerepel": tudomásom szerint a postának van ilyenje, de most nem keresem elő.
-
Zalanius
tag
Most balrol jobbra haladva elso szam utani ertek a Házszám Irányítószám.
Iranyitoszam minden esetben 4 karakter, igy az konnyu.Április 4. útja 5., Október 23. tér 10. Irányítószámok: nemzetközi címek is lehetnek a táblában az eredeti felvetés szerint. Tud ez bonyolódni, de ha exceles méretek vannak, kár bele az energia imho.
-
Domonkos
addikt
-
válasz
total90 #12618 üzenetére
Név Utca Házszám Irányítószám Város
Igazabol ahogy felettem is irtak, a nev meg az utca kb eselytelen, hacsak nem talalsz egy olyan adatbazist, amiben minden varos minden utcaja szerepel, de meg ugy se 100%, bar ugy mar szerintem egy laza 90%-os szures megoldhato lenne.
Amugy az en algo-m ugy nezne ki, hogy jobbrol balra indulunk, igy nezve elso szam utani karaktersor a varos.
Marad az, hogy Név Utca Házszám Irányítószám.
Most balrol jobbra haladva elso szam utani ertek a Házszám Irányítószám.
Iranyitoszam minden esetben 4 karakter, igy az konnyu.
Maradt a Nev es az Utca.
Nevnel a fentebb emlitett ket nev, egy szokoz kombora losz, az a valosag ~90%-at lefedi.
Marad az utca, mint adott.De a nev - utca parost mindenkeppen le kell ellenorizned biorobot modszerrel.
-
GreenIT
tag
válasz
pigster #12606 üzenetére
A kacsintas azert szolt, hogy vedd eszre, hogy IT temat jogi kiskapuval akarsz megoldani, ami nem megy.
Azert lett letrehozva az ugyfelkapu, hogy a kormany adjon egy biztonsagosabb megoldast az adotitkok es szemelyes adatok kezelesere - es pont ezt akarod kikerulni, ami jo nehany torvenyt sertene, de nem akarod eszrevenni.
-
Zalanius
tag
válasz
total90 #12618 üzenetére
"Név Utca Házszám Irányítószám Város"
Az eredeti kérdésben is írtad: a probléma az elválasztó karakter, ami ugyanolyan szóköz, amilyenből kis túlzással tetszőleges mennyiség előfordulhat a név, utca, város esetében mezőn belül is. Exceles eszközökkel stabil megoldás erre aligha lesz, még makrókkal sem, legfeljebb egy valamilyen közelítés. Itt az adatmennyiség a kulcs: pár száz sorig egyszerűen nem éri meg bonyolult szabályrendszereket kódolgatni, a humán erőforrás előbb végez. Ha valami nagyságrendekkel nagyobb listáról van szó, értékes adatokkal, amiből ez a katyvasz áll rendelkezésre, akkor meg a teljes folyamat defektes úgy, ahogy van...
Klasszikus adattisztítós / feltáró feladatként úgy ugranék neki, hogy ha nemzetköziek is a címek, azért a vonatkozó országok városainak (talán) teljes listája beszerezhető, ezért az azonosítás könnyű, ugyanígy az irányítószámok szerkezetére vonatkozó helyi szabályok. Utóbbi nyilván számokat is tartalmaz, ezért az utolsó ilyen töredék után már csak a városnevek lehetnek, a házszám szintén kell, hogy számokat tartalmazzon stb. Nyilván a név-utca felbontás a legtrükkösebb, pl. "Horváth Péter Mátyás Király tér".
De nem feltétlen kell ágyúval lőni az ilyen szóközös verébre. Vegyél egy pár soros mintát, nézd meg a tipikus szerkezetet. Ha van valami többségi mintázat, akkor legyen az a fő szabály, és a többit meg nézd át egyenként. Példa: szóközök mentén felbontva (Excelben: szövegből oszlopok) tipikusan 2 mező a név, 2 az utca, 1 a házszám, 1 az irányítószám, 1 a város. Ha az adott sor 7 mező széles, kész vagyunk, minden más esetet meg ki kell szűrni és átnézni. Nyilván a neveknél a prefix, mint Mr., Dr., Özv. stb. a fő veszély, a házszámoknál a külön írt /a vagy 4. em. 15., de ezekre fel lehet készülni.
-
válasz
pigster #12608 üzenetére
"Nem hinném, hogy a válaszokkal valakinek a "fele munkáját" megcsináltátok volna."
Pedig amikor nincs kulcsrakesz informacioja senkinek (marpedig ha lenne, mar megirta volna), akkor akarmennyire is felhaborodsz es csapkodsz, nem fogsz tobb infot kapni, mint par tippet, esetleg par linket, amit kidobott a gugli.
Amugy de, ez tipikusan az a helyzet, amikor a munka minimum fele az, hogy kiderited, hogy egyaltalan lehetseges-e ezt barmilyen igenyes modszerrel megoldani vagy nem. Itt, ha talalsz vegul egy API-t vagy barmi ertelmeset, akkor a munka minimum fele kesz van, utana lepotyogni mar kozel trivialis.
(Amugy rohadt nagy szegyen es gyalazat, hogy ez (egy konnyen hasznalhato, jol dokumentalt API, peldakodokkal) nem adott alapbol, de hat mit varunk az allami, sok-sok milliardbol fejlesztett foshalom rendszerektol...) -
pigster
senior tag
Azt hittem a fórum arra való, hogy lehessen kérdezni.
Nem tudom, honnan veszed, hogy a munkám fele lenne az, ha valaki - aki esetleg már csinált ilyet - ideírná, hogy hol lehet valamiféle kézzelfogható információhoz jutni a témában. Hidd el kerestem, de eddig nem találtam, ezért is kérdeztem itt.
Nem tudom, hogy az eddigi 12600 meg még valamennyi hozzászólás mi volt, de gyanítom, kérdések is voltak benne. Nem hinném, hogy a válaszokkal valakinek a "fele munkáját" megcsináltátok volna.
Gondolom rengeteg olyan téma volt a hozzászólások között, ami keresés, olvasgatás, stb-vel amúgy is elérhető, tehát akkor zárjátok be a fórumot vagy írjátok ide: kérdezni tilos; keress, olvass, stb.Neked köszönöm a linket, bár nem tudom, mennyire aktuális, mivel évekkel ezelőtti dátumokat látok benne.
-
válasz
pigster #12606 üzenetére
Talan van valami ugyfelkapu API vagy valami...
En ennek az atolvasasaval kezdenem, aztan vagy visz valamerre, vagy nem.Mivel lathatolag kulcsrakesz informacioval senki nem rendelkezik itt a temaban, ezert neked kell utananezni, ennel tobbet senki nem fog tenni neked, nem varhato el realisan, hogy orakat toltson el valaki az idejebol ingyen es bermentve, es megcsinalja a munkad felet forumos "koszike"-ert.
Szoval, ha kell egy adat, amit ugyfelkapunk keresztul elersz, akkor mar tudod, hol van.
Innentol keress API, kapcsolodas, adatbazis, stb szavakra, olvasgass dokumentaciot, legroszabb esetben irsz valami scriptet ami lehuzza az oldalrol.Sok sikert!
-
pigster
senior tag
válasz
GreenIT #12605 üzenetére
Hiába kacsintgatsz, nem akárkiét szeretném lekérdezni, mivel hozzá sem lehet férni akárkiéhez. Az ügyfélkapun keresztül belépve le lehet kérdezni, sőt - nem fogod elhinni - létezik nyomtatványkitöltő program (ÁNYK), amivel - szintén ügyfélkapus hozzáféréssel - különféle bevallásokat lehet beadni. Csupán annyit szeretnék, hogy ne ügyfélkapus weboldalon keresztül kelljen lekérdezni adatokat.
Erre szeretnék megoldást, ha létezik egyáltalán. -
pigster
senior tag
Sziasztok!
A NAV-tól szeretnék egyedi szoftver segítségével lekérdezni adatokat. Pl. adófolyószámla. Lehetséges egyáltalán? Ha igen hogyan?
Ha esetleg lenne külön topikja, akkor írjátok meg, legyetek szívesek, merre találom. -
#38742016
törölt tag
Sziasztok!
Van egy C-ben írt open-source BIOS chip író / olvasó program, flashrom. Azt szeretném megoldani, hogy ICH7 chipsetnél lehessen módosítani az SPI frekvenciát az spispeed paraméterrel 1-16MHz között. AMD chipsethez már megcsinálta valaki: [link] Elvileg ezekről a fájlokról van szó, de nem vagyok benne biztos: [link], [link]
Megtaláltam a chipset datasheet-jét is, de erről nem ír semmit.
A kérdésem: 0 programozói tudással ez lehetséges, vagy felejtsem el? Gondoltam rá, hogy átírom a kész patchben a dolgokat, de nem hiszem, hogy működne.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Újszerű Karcmentes Samsung Galaxy S24 8/128GB 2028.05.19-ig garanciával
- 16 db Intel Celeron és Celeron D processzor
- Gamer PC - Ryzen 7 5700X / RTX 5060 / A520M / 16GB vagy 32GB RAM / 256GB + 1TB M.2 SSD / 650W Silver
- Gamer PC eladó, erős gép, frissen pasztázva.
- Apple iPhone 16 Pro Max 256GB,2026.07.29-ig Apple Garancia,Makulátlan Karcmentes Állapot
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- Xiaomi Redmi 9AT 32GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba Ár! Fujitsu LifeBook E780 - i5 I 4GB I 250GB I DVDRW I 15,6" HD I Cam I W10 I Garancia!
- Eladó Karcmentes állapotban levő Samsung A40 4/64GB / 12 hó jótállás
- AKCIÓ! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest