Hirdetés

Keresés

Új hozzászólás Aktív témák

  • raggg

    senior tag

    válasz birno #6815 üzenetére

    Amit belinkeltél egy osztálydiagram, amit elsősorban a programban létező objektummodell leírására használnak. Amit te keresel, az az UML állapotátmenet diagram (state diagram, lásd például: [link]).

    Ez jóval egyszerűbb, nem kell órákat eltölteni vele, és ez szolgál az egyes objektumok állapotainak leírására. Szerintem ha csak a saját munkád minőségét befolyásolja (értsd nem kerül bele valamilyen dokumentációba), akkor felesleges gépen rajzolgatni, elég ha egy papírra felkarcolod. Szerény véleményem szerint az se fontos, hogy 100%-ig UML szabályok szerint működjön, úgy csináld, ahogy neked érthető. Ha mindenképp gépen szeretnéd, akkor pl. a Dia-t ajánlom, ingyenes, működik, átlátható - nincs benne semmi extra.

    Egyébként ha javasolhatok valamit, akkor ne a programkód (~függvények) felől közelítsd meg a problémát, hanem ilyesmi kérdésekre keresd meg a választ:

    - Milyen objektumok vannak az alkalmazásban, amik állapotokat változtatnak?
    - Milyen művelet hatására vált állapotot egy adott objektum?
    - Hogyan viszonyulnak egymáshoz az állapotok? Melyik állapotból melyik másikba kerülhet át egy objektum?

    Ha ezt sikerül feltérképezni, sokkal egyszerűbb lesz a konkrét kódot elkészíteni és általában jobb is a végeredmény a kód felépítését illetően.

    Remélem valamennyit tudtam segíteni.

  • raggg

    senior tag

    válasz zserrbo #6810 üzenetére

    Egy jótanács - angol neveket használj, pl. ebben az esetben rögtön szélesebb közösség tudna segíteni.

  • raggg

    senior tag

    válasz Sk8erPeter #6806 üzenetére

    Egy szó: gyakorlat.

    Akik ma C/C++-ban kódolnak komolyabban, valószínűleg azoknak is ködös volt elsőre ez a téma.
    Aztán ültek felette és megértették.
    Aztán írtak sok sok kódot és már nem felejtik ki a csillagot - "Gyakorlat teszi a mestert".

    Csak ezt tudom tanácsolni mindazoknak, akik kicsit el vannak veszve a pointerek, a rekurzió, a párhuzamosítás (és még sorolhatnám) világában. Sosem késő megtanulni, csak időt kell rá szánni. Van amit könnyebb, van amit nehezebb megérteni; de kell idő ráfordításával és gyakorlással már csípőből mennek ezek a dolgok.

  • raggg

    senior tag

    válasz bucsupeti #6791 üzenetére

    Leírom én is a véleményem erről, nem csak konkrétan ehhez, hanem a válasz postokhoz is igazítva:

    Anno én is tanultam középiskolában, meg egyetemen C-t. Akkor nem volt könnyű elsőre megérteni a pointereket, meg a referenciákat meg sok-sok mindent - aminek ma rettentő nagy hasznát látom. Nyilván sok területen, technológiában már el vannak fedve ezek a témák és nem kell velük foglalkozni (vagy legalábbis nem olyan szinten), azonban ha valaki jó minőségű kódot szeretne írni, akkor ez szükséges feltétele szerintem. Aki nem wordpress oldalakat akar tákolgatni, vagy railsben varázsolni, annak legalábbis biztosan.

    Ugyanígy igaz ez az assemblyre. Aki compiler outputot nézeget, annak igenis értenie kell hozzá.

    Ettől függetlenül persze igaz a másik oldal is; aki kifejezetten PHP-ban szeretne webet fejleszteni, annak nem biztos, hogy érdekes, hogy mi az a pointer, meg az hogy fordító ( - ismertem olyan többéves tapasztalattal rendelkező PHP programozót, aki mondta nekem, hogy amikor először találkozott a C-vel, teljesen meglepte, hogy le kell fordítani a kódot).

    Ezt szerintem mindenkinek el kell döntenie, hogy mennyire szeretne mélyen alámenni a témának. Ismerek olyanokat, akik sosem tudták elvégezni az egyetemet/főiskolát, de egyébként nagyon jók a szakmában.

    A DevC-ről meg annyit, hogy énis láttam eleget. Aztán miután normális IDE-vel dolgozhattunk (Eclipse, Visual Studio, whatever), akkor nagyon jó volt persze, de senki nem mutatta meg, hogy hogy kell normálisan debugolni egy programot. Vagy hogy lehet teszteseteket gyártani. Pedig ezekben az IDE-kben már nagyon jól lehet dolgozni. Ja és hogy lehet megoldani a verziókezelést? Egyáltalán mi az a verziókezelés?

    Sajnos azt látom, hogy akik kijönnek az egyetemről, lehet, hogy remekül tudnak sorba rendezni, meg (a nyelvek által általabán tartalmazott) kollekciókat algoritmizálni, de a legalap winforms alkalmazás is gondot jelent már. Akkor most hol az igazság? :-)

Új hozzászólás Aktív témák