( uid_15483 | 2020. 11. 09., h – 04:58 )

Úgy értem, ami alapján eldönthetném valami egyszerű módon, hogy egy adott funkció melyikbe kerüljön?

Nem tudom van-e erre valami szabaly, ha nekem kene dontenem, akkor hierarchikusan epitenem fel a fuggvenykonyvtarakat. Azt vennem figyelembe, mire vonatkozik a fuggveny, mennyire "elemi" muvelet amit elvegez es az eredmeny mire/hol van hasznalva. Tovabba egy konyvtarba a logikailag osszetartozo fuggvenyek kerulnenek. Ha meg tudod fogalmazni mire valo a konyvtar az sokat segit eldonteni mi valo bele: 

  • math: matematikai muveletek. (es igy mar erezheto, hogy a szam->string konverzio az nem matematikai muvelet)
  • dir: ezt atneveznem io-ra, es akkor fajlrendszer kezelessel kapcsolatos muveletek.
  • str: string vizsgalo es manipulacios muveletek.
  • terminal: megjelenitessel kapcsolatos muveletek. (igy erzesre minden megjelenitest segito fuggveny ide illik, szinkodos szam konverziot es szoveg jobbra-balra igazitast is beleertve)
  • text processing: szovegfeldolgozassal kapcsolatos muveletek.
  • stb..

A nyelv ismerete nelkul nehez ertelmes javaslatot tenni, de en pl valahogy igy csinalnam:

  • "szokozok torlese a string vegerol" - stringen dolgozik, az eredmeny altalanos celu -> string konyvtar
  • "konkret karakter torlese a string vegerol" - stringen dolgozik, az eredmeny altalanos celu -> string konyvtar
  • "utvonal elvalaszto karakter torlese a string vegerol ha van" - stringen dolgozik, specialisan fajlrendszer kezeleshez segedfuggveny-> io(?) konyvtar (io fugg a string konyvtartol)
  • "szam stringge alakitasa" - szamon dolgozik, az eredmeny altalanos celu -> string-be mint "create string from number" az egyszeruseg kedveert, de lehetne magasabb rendu "conversion" konyvtarba is rakni ami ide-oda tud konvertalni a tipusok kozott amit akarsz.
  • "szam stringge alakitasa szinkodok beszurasaval" - szamon dolgozik, az eredmeny csak kijelzesre hasznalhato -> terminal konyvtar (terminal fugg a string konyvtartol)
  • "string tomoritese hogy beferjen x karakterbe" - stringen dolgozik, az eredmeny kijelzesre hasznalando -> terminal konyvtar
  • "string felbontasa tetszoleges karakter menten" - stringen dolgozik, az eredmeny altalanos celu -> string konyvtar
  • "string felbontasa szokozok menten" - stringen dolgozik, az elozo egy specialis esete -> text processing konyvtar(?), text processing fuggene a string konyvtartol. De ilyenre nem is biztos hogy csinalnek kulon fuggvenyt, egyszeruen az elozo fuggveny parameterezesevel helyettesitheto.
  • "fajl soronkenti beolvasasa string tombbe" - fajlon dolgozik, string tombot ad vissza -> io konyvtar (io fugg a string konyvtartol)
  • "c stilusu kommentek torlese" - stringen dolgozik, osszetett muvelet -> text processing konyvtar(?)

De sok minden nezopont kerdese, ha 10 embert megkerdezel nem lepodnek meg ha 12 kulonbozo valaszt kapnal hogyan jo felbontani a fuggvenyeket, es nagyban fugg attol mire helyezed a nyelvben a hangsulyt. Pl. ha a nyelv celja statisztika szamitasok tamogatasa, akkor a "math" konyvtar valoszinu tobb reszre lesz bontva, mig ha szovegfeldolgozas a cel, akkor a "math" konyvtar kicsi lesz, az "str" viszont terjedelmes, stb. Nincs egy igaz megoldas.