Az ördög kb. 2 pixelnyi részletben rejlik

 ( kisszol | 2013. október 2., szerda - 12:30 )

Kolléga 4 hónapos hiba javítás végére tett pontot.
(A hibát ő találta meg, én csak okát fejtettem meg.)

Egy programunk nem akart úgy funi az ügyfélnél ahogy elvártuk. A program fittyet hányt az egyik paraméterre. Úgy vette mintha nem is létezne. Rengeteget debuggoltunk, de nem találtuk az okát nálunk ugyan is rendesen ment.

Talán soha nem is találjuk meg a hibát, ha csak nem egy szer az ügyfél beidőzítette a megfelelő paraméterekkel a programot és nem ment. Majd exportálták a jobot XML-be és elküldte nekünk. És láss csodát importálás után nálunk sem ment a dolog. Hosszas próbálkozás után kolléga kiderítette, hogy az egyik paraméter mögött nem ASCII 45 hanem ASCII 150 kódú kötőjel van.
Ami a monitoron fix szélességű betűtípussal csak egy hangyabajusznyival hosszabb.

Mint kiderült a wordben elküldött dokumentáció okozta a problémát. Az ügyfél annak rendje és módja szerint Ctrl-C Ctrl-V kimásolta a doksiban látható parancsot. Csak hogy a Word valamilyen oknál fogva az egyik kötőjelet a magyar szabvány szerinti hosszabb gondolatjelre cserélte.

Régen nem volt részem ilyen összetett problémában részem.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem hülyeség az ASCII. 7 bit, és semmi elírás.

Az a szégyen, ha 4 hónap kell 1 egyszerű syntax error hiba lokalizálásához.

Ez nagyjából olyan messze van a syntax error-tól, mint ide a Kuiper-öv. Most láttad C64-en ezt a hibaüzenetet?

-------------------------
Trust is a weakness...

Az M$ programjai ki akarjak talalni mit akarsz, most ugy gondoltak, hogy ti 4 honapig szopni akartok :)

--
Live free, or I f'ing kill you.

Igazabol az Open- es LibreOffice is kicsereli a kotojeleket ha ugy latja jonak. Meg meg a fene tudja mennyi egyeb mas szovegszerkeszto is.

+1

Akkor alakítja át a sima kötőjelet, amikor a kötőjel utáni szó után nyomsz egy space-t.
Ami egy tipográfusnak megnyugvás, az egy programozónak kopaszodás.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Lattam mar hasonlo phpmyadminban is....Igaz, ezereves mysql, de nem ertettem, hogy ctrl-v/ctrl-v masolok egy DNS bejegyzest es megis egesz mas jon vissza (konkretan spf bejegyzes volt egy txt rekordba). Marmint amikor dig/host programmal ellenoriztem, egesz ams volt, mint amit beirtam.

Talan html level volt? Nem tudom.

--
http://www.micros~1

Igen, mert a Word arra való, hogy onnan menjen a kopipészt a parancssorba.

Ja, nem.

Egyébként ez sem utolsó szempont: http://hup.hu/node/127305#comment-1649581

Tipikus kivételkezelési hiba.
Ezért kell minden paraméterezhető programban hibát dobni, ha a paraméter sz@r.

Developer 1-es, leül.
--
PtY - www.onlinedemo.hu

Ezért kell minden kívülről elérhető, az API részét képező, paraméterezhető metódusban/függvényben ellenőrizni a kapott adatokat és dobálni a platformon elérhető IllegalArgumentException-öket, az implementációs részben meg assert-ezni az osztályon kívülről érkező (de természetesen a publikus API határon már ellenőrzött) adatokra tett megkötéseket.

Maga a program meg ilyen helyzetben véssen ki a képernyőre egy (ha gép által hívott úgy, ha user által indított, úgy) emészthető hibaüzenetet és logolja a hibát.

BlackY

-
storno
-

Egy sor kimaradt. Már úgy értem: olvasás közben.


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Az ugyan igaz, hogy jelen esetben a programnak kell ellenoriznie, hogy mit adunk be neki, es mielobb lekezelnie, de...

Annyi webes (es a fenti peldaban Word-ben irt) dokumentacioban, how-toban talalkoztam olyannal, hogy a kodpeldaban nyomdai (“”) idezojelekre csereli a portalmotor/szerkeszto a rendes, irogepeset (""), hogy szerintem ez is olyasmi, amire figyelni kell. Ha valaki script-rol, programnyelvrol ir, akkor kapcsolja ki ezt a funkciot. A legszebb, amikor a portalmotor direkt kiemeli a kodpeldat, meg "Copy to clipboard" gomb is van, es a kod kozepen ott figyel egy szabad szemmel alig megkulonboztetheto nyomdai irasjel.

Térjünk vissza a kályhához. Az vajon mit érdemel, aki kitalálta, hogy legyen kötőjel, meg gondolatjel, külön.

Az nyelvész volt és híre sem volt még számítástechnikának, amikor kitalálta.
Ráadásul gondolatjelből van kétféle: egy rövid (–) és egy hosszú (—). Hogy melyiknek mi a szerepe, pontosan miben térnek el, azt már nem tudom. Azt hiszem, a rövid a tételes felsorolásnál, párbeszédek leírásakor, míg a hosszú a mondatba ágyazva, mikor megszakítasz egy gondolatmenetet némi kitérővel, majd folytatod a félbehagyott gondolatot.

-–—–--–—–--–—–--–—–--–—–--–—–--–—–--–—–--–—–--–—–--–—–-
(jó kis sorminta és nem is látszik, hogy kötőjelet (-) vagy rövid gondolatjelet (–) írtam — egészen addig, míg a beviteli mezőben vagyok. :)


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Azok nyelvészEK voltak. A használatuk nyelvenként/style guide-onként eltérnek.

BlackY

Gondolom, egytől származik az ötlet, a többi csak rábólintott. ;)


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Csak arra próbáltam célozni, hogy kivételes nem a standard magyar virtusról ("Há, a mi [nyelvészeink/programozóink/pékjeink/...] csak azért is legyenek gyökerebbek mindenki másnál és menjenek szembe minden logikával és csúúnya és gonosz idegen tapasztalattal") van szó :)

BlackY

Azért lassan csak megértjük egymást :)


Aki tudja, csinálja, aki nem tudja, tanítja... Hm... igazgatónak talán még jó lennék. :)

Mindenki egy mast. :-)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

O, a jo oreg hiba. Hanyszor de hanyszor szaladtam mar bele en is. Komolyan, en ertekelem, hogy a rendszerek tamogatjak ezeket a szep karaktereket, de eltornem a kezet annak, aki ezt az automata cseret megcsinalta. Lehessen egy gombnyomassal cserelni oket, ha kell, igen, de ne legyen automata, mert abbol mindig csak baj van.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Nem, és ezt sajnos az informatikusok nagy része nem képes elfogadni. Nem csak a baj van vele. Sőt. 99%-ban nincs vele baj, baj akkor van csak, ha ész nélkül beletoljuk a forráskódot/parancssort MSWordbe/Writerbe, aztán nézünk, hogy mi a baj.

Lehet, hogy ezzel tipografiailag semmi baj nincs, elfogadom. Csakhogy az interneten joreszt nem olyan szovegek szuletnek, amelyeknek a tipografiaja akar egy hangyaszorszalnyit is szamitana. Ahol tipografiailag igenyesnek kell lenni, azt oldja meg a szerzo, hogy tipografiailag igenyes legyen, de az automatikus technikakkal mindig az a baj, hogy altalaban mindenfele kerdezes nelkul csinaljak a dolgukat. El kellene fogadni a tipografia-maniasoknak, hogy az interneten alapvetoen olyanok szerkesztenek szoveget, akiknek fingjuk sincs arrol, hogy mi a kulonbseg a harom kotojel kozott.

Raadasul, nagyon sok tipografiai karakter szabad szemmel megkulonboztethetetlen az ASCII megfelelojetol. Ami megint vicces dolog egyebkent, mert akarmennyire is kinezed a szemedet, egy 1280px szeles monitoron (ma mar ennel keskenyebbet nem igazan lehet kapni) nem fogsz ket pixelnyi kulonbseget eszrevenni, akarmilyn jo a szemed. Ezt itt es most garantalom neked.

Informatikuskent en meg mindig csak szivtam akkor, ha valami nagyokos dizajner/sitebuilder egyben tipografia-fetisben is szenvedve bekapcsolt valami ilyen jellegu opciot, vagy plane mikor olyan CMS kerult fel, amiben ez automatan engedelyezve van. Plane, ha az illeto site valamilyen IT-szakmai tartalommal birt. Szoval bocsass meg, ha nem tudom megfeleloen ertekelni a tipografia rejtett ertekeit.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.

Abban igazad van, hogy nem kell arra verni, hogy de jó a honlapom tipográfiája, de hidd el, _nagyon_ sokat tud számítani a különbség egy jó és rossz megoldás között. Nem feltétlenül tetszésben - az amúgy is szubjektív, hanem olvashatóságban.

Arra meg, hogy weben olyan tartalmat jelenítsünk meg (pl. kód), ahol erre nincs szükség, arra is vannak igényes megoldások.