למה שוש לא תמיד צודקת

אני זוכר באיזה דיון ב־whatsup שבו שוש היא הסבירה שהשיטה העדיפה לבדיקה של כיווניות של פסקאות טקסט היא לספור את התווים ולהחליט לפי מירב התווים במקום להחליט לפי התו החזק הראשון בפסקה. אני כל כך אהבתי את הרעיון שהתחלתי לממש אותו והוא נמצא ב־konversation 1.1 בהפצה החביבה עליכם. כשהתחלתי לעבוד על KDE 4.1 תפרתי את אותה התנהגות ב־katePart. כמו כן, ההתנהגות הזאת גרמה לבעיות אחרות, וגם שכנעתי את המפתח של KWord לעשות את אותו דבר, והאמת? אני הייתי מאוד מרוצה מההתנהגות הזאת.

עד שהתחלתי להשתמש ב־kate כדי לתכנת קוד שכולל מחרוזות בעברית. במיקרה שלי זה היה php אבל זה ממש לא רלוונטי. מה קורה? אני פתאום רואה שהטקסט (הקוד!) מיושר ימינה ומקבל כיווניות… “לא נכונה”… הינה דוגמה:

kate-hebrew-code-broken.png

בדוגמה זו רואים שמשתנה ב־php שמקבל ערך של מחרוזת עברית יראה שבור. מקרי קיצון אחרים יותר קשים יקרו כאשר הערך הוא חלק ממערך

אז נפתח באג. הרעיון לתיקון הבאג הוא לחזור לבדיקה של התו החזק הראשון. אבל מה נעשה כאשר אין תו בקרה חזק? “בוא נסתכל על הכיוון של הממשק ונחליט לפיו!”. רעיון רע, כי זה שוב יהרוס את היכולת שלי לכתוב קוד ב־kate:

kate-hebrew-code.png

גם מקרה זה הוא לא אופטימאלי – הסוגריים של הקוד מיושרים לפי הכיווניות של הממשק במקום להיות מיושרים שמאלה תמיד

אז הוא גם נפסל. כעת הקוד שייכנס אל KDE 4.2 יבדוק את התווים שיש בפסקה עד שימצא את החזקה הראשונה ויחליט לפיה. אם אין, הכיווניות היא LTR. המטרה הראשית של kate/kwrite היא כתיבת קוד (ואני ראשון כי אני משתמש בכזה כדי לתכנת!) ולכן חייבים להקפיד ששום דבר לא יהרס בהקשר הזה.

אבירם, עם כל הכבוד… לקח לי כמה שעות לתקן את הבעייה הזאת. (כי משום מה QString::isRightToLeft()‎ לא עובד במיקרה זה אז שכתבתי קוד לטובת ביצועים גם כן). וזה אני עושה בסופ”ש, כי באמצע השבוע לא היה לי זמן לתקן את התקנת KDE4/trunk שהפסיקה לעבוד לפני כמה שבועות..וביום שישי הלכתי לבקר לקוח של רואי ממנדריבה שנתקל בבעייה ובאמצע השבוע אני עובד פול טיים ואני גם עבדתי עם מתרגם חדש (הוא תרגם את כל k3b – המון עבודה!)… אתה מבין לקראת מה אני חותר?

בניגוד לתחום השרתים שאתה תמיד יכול להגיד “עזוב, עוד שנייה מישהו מתקן את זה”, ומדי פעם אתה באמת מתקן לפני “מישהו” והכל סבבי. הבעייה בתחום הדסקטופ העברי היא שכמות ה”מישהו” מאוד מצומצת, תופעת ה”אין קהילה” המאוד מוכרת (1) של מפתחים בארץ. מה שאני אומר זה: עד שלא תהיה חברה מסחרית מסודרת שתתעסק בדסקטופ בארץ, שיהיה לה מספיק משאבים לשרוף על מתכנת שיתקן באגים עבריים ב־KDE – אתה תישאר בגנום. סופ”ש הבא – אני ממשיך לתקן תרגומים במקום לתקן קוד שלא עובד. על קוד אני אעבוד לקראת KDE 4.3. אולי, אם יהיה זמן… (2)

[gv data=”1JynBEX_kg8″][/gv]

http://il.youtube.com/watch?v=1JynBEX_kg8

(1) האמת יש קהילת משתמשים מאוד גדולה באופן יחסי בארץ. אני מתלונן על קהילת המפתחים שנעלמה.
(2) וזה ילמד אותך!

Share Button