Most, hogy nagyon ráérek, gondoltam ideje lenne valamivel "javítani" a mai programozási nyelveken.
Első lépésként az örök kedvenc pythonban akartam segíteni a részeg kódolásban. A probléma ismerős lehet: az alany folyton félreüt, és csak futás közben derül ki, hogy elütött egy csomó változónevet. Erre létező megoldás a pychecker vagy pylint, de ezek nagyon macerásak. Én egy sokkal szebb megoldást választottam: írtam egy modult ami az elgépelt neveket futásidőben megpróbálja kijavítani. Vagyis ez teljesen jó:
import corrector
def main():
majom = 2
print majmo
main()
Na, ha valaki idáig elolvasta, itt a felhívás: akinek vannak még ilyen perverz ötletei, az dobja be őket, és hozzuk létre a jövő programozási nyelvét! (lehetőleg pythonra építve)
- 1644 megtekintés
Hozzászólások
import corrector
def main():
majom = 2
majmo = 1
print majmo
main()
Az ilyet is tudja?
Nekem az esetek 90%-ba a behuzzassal gyulik meg a bajom (joe-ba kodolom, tab = 4space, notepad++-ba, TAB = TAB, biztos belehet allitani valahol, csak akkor is).
@@
"You can hide a semi truck in 300 lines of C."
- A hozzászóláshoz be kell jelentkezni
ha van pontos talalat, akkor nem bantja a mukodest. a jo kodra egyetlen hatasa csak annyi, hogy kisse belassitja.
"behuzast" szerintem nem lenne nehez javitani, HA lenne ra valami jo logika ami eldonti, hogy mi rossz, es milyen lenne az jol.
- A hozzászóláshoz be kell jelentkezni
Miért, az elgépelt változónevekre van jó logika?
KisKresz
- A hozzászóláshoz be kell jelentkezni
egy jaro-winkler tavolsag eleg jo eredmenyt ad. ha nincs elegge hasonlo, akkor persze marad a hiba. persze itt a vegso cel az, hogy mikroszoft word szintre hozzuk a pythont.
- A hozzászóláshoz be kell jelentkezni
Nem, én a problémát ott látom, ha több hasonló is szóba jöhet.
Én mindenesetre úgy tartanék egy ilyen "javító" mechanizmustól, mint a tűztől.
KisKresz
- A hozzászóláshoz be kell jelentkezni
remelem nem gondoltad, hogy ezeket barki hasznalna viccen kivul
- A hozzászóláshoz be kell jelentkezni
Honnan tudjam, mások mit akarnak? Nem a fun rovatban vagyunk.
KisKresz
- A hozzászóláshoz be kell jelentkezni
De ezek kozul ki lehet dobalni azt, ami nincs definialva.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ezt nem értem. Én erre gondoltam:
majom = 1
bajom = 2
print hajom
KisKresz
- A hozzászóláshoz be kell jelentkezni
En meg arra, hogy ebben a konkret esetben (szar algoritmussal) elojohet pl. a 'rajom' is, ami nincs definialva, ergo dobhato.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
nem probalunk vegig minden elkepzelheto variaciot, hanem a szkopbol elerheto neveket pontozzuk hasonlosag szerint (preferalva a lokalis valtozokat)
- A hozzászóláshoz be kell jelentkezni
szerintem itt nincs baj: ha csak ilyen kevesben ter el ket valtozo neve akkor azok valoszinuleg annyira hasonlo funkciojuak, hogy nagyjabol mindegy melyiket hasznaljuk :P
- A hozzászóláshoz be kell jelentkezni
Az alkoholfogyasztashoz nem a betoltott 18. eletev, hanem az auto-completion-t tamogato editornak kene lennie az eloirasnak :)
vim-ben ctrl-n a baratod.
- A hozzászóláshoz be kell jelentkezni
Csak valtozonevet javit, vagy mast is? En altalaban nem a valtozot irom el, hanem minden mast (pl primt majom).
Esetleg javasolnam meg a modul nevenek roviditeset, mert kicsit kotyagosabb allapotban a "corrector" egy rettenetesen bonyolult szo.
Es! Van meg egy perverz otletem: ACME::Filter::Kenny-t lehetne portolni Perlbol Pythonra esetleg. Az utne.
- A hozzászóláshoz be kell jelentkezni
statementeket ez nem tud javitani, DE arra is van egy otletem...
ez a kennys cucc is jonak tunik -- mindjart neki is allok a forrast megfejteni.
es egy uj otlet: a C-ben a kedvencem az assembly beagyazasa. ilyen kell pythonba is! pl:
asm('LOAD_FAST 1\nPRINT_EXPR')
- A hozzászóláshoz be kell jelentkezni
Akarmi is lesz a cuccbol, szivesen eljatszanek a forrassal - elerheto valahol? :)
- A hozzászóláshoz be kell jelentkezni
ide raktam egy verziot:
http://stderr.ath.cx/~malac/corrector.zip
talan van valahol vmi javitgatott is, de nem talalom mar (regebben irtam)
a legnagyobb hibai, hogy csak CPython alatt mukodik, es egyelore nem bir el a closure-okkal (pl a kommentelt dekorator-pelda nem mukodik). ha osszegyulik par eleg meresz otlet, akkor felpakolom oket google codera vagy sourceforge-ra.
- A hozzászóláshoz be kell jelentkezni
Az ilyenekenek eleg a github is... targezat ott is lehet letolteni...
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
0lyat nem lehetne, hogy:
1) kitalálom, hogy mit is szeretnék
2) beírom hogy ",mndkjhfiurew983iuexé4hnanye87uiámajom..."
3) és utána kijavítja a helyes kódra?
4) ;)
- A hozzászóláshoz be kell jelentkezni
Ezt a folyamatot hivjak ugy, hogy "eloleptetes csoportfonokke".
- A hozzászóláshoz be kell jelentkezni
Komoly tévedés.
Jól kódolni (is) csak a főnök tud.
- A hozzászóláshoz be kell jelentkezni
Or not. Volt mar ilyenre is pelda.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Segítség gyanánt: :)
(Csak úgy túl könnyű lett volna.)
- A hozzászóláshoz be kell jelentkezni
Nem, nem tevedes. Sehol sem emlitettem, hogy az eloleptetes hatasara az ember elvesztene megszerzett tudasat.
Mindossze annyirol szolt a dolog, hogy a fonok megteheti, hogy kiadja feladatba az alabb valoknak. Le brain-dumpol, aztan azok majd csinalnak belole Valamit. Jo esetben helyes kodot, es azt amit a fonok akart... de errol mar nem szolt a fama.
- A hozzászóláshoz be kell jelentkezni