המשך עבודה על hebocr + QHOCR

אני עובר לאט לאט על הקוד שירשתי מהד”ר.

יש לי כמה דברים להגיד על הקוד:

  1. הקוד סופר מסודר. אני לא אוהב את הצורה שבה הוא מפרמט את הקוד, אבל רבק הוא כל כך עקבי שזה פשוט תענוג לקרא את הקוד.
  2. הקוד נורא, נורא קריא. שמות משתמשים מאוד טובים ובאמת אפשר להבין את הקוד רק מלקוא אותו, בלי ניתוח מעמיק. 
  3. למרות כל מה שאמרתי קודם לכן, הקוד מסובל: יש יותר מדי שורות לבנות בקוד ורב הפונקציות לא נכנסות במסך אחד אלא שלוש. בנוסף הוא משתמש סרוגריים מסולסלים גמו שעושים בפסקל ולא כמו שמקובל (למשל) בקרנל של לינוקס. בהתחלה לא אהבתי את השיטה הזאת, אבל למדתי שהיא חוסכת במקום אפקי – מה שהכי חשוב לקוד (יש מסך רחב, הקוד יכול לעבור את שורה 80).
  4. עדיין, עדיין, יש 50 התראות קומפילציה. עוד לא התחלתי לחקור את דליפות הזכרון מפורסמות. זה יהיה תהליך כואב ואני דוחה אותו עד שאני אכיר טיפה את הקוד. מצד שני, אולי בעזרת valgring אני אלמד להכיר את הקוד..
  5. אני ממיר כרגע את הקוד לשימוש בכמה structs ראשיים במקום להעביר המון משתנים קטנים לפונקציות. נראה לי יותר הגיוני וכואב פחות במחסנית, כיוון שאני רק מעביר מצביע ל-struct ולא את התוכן שלו.
  6. יש מלא תווים ב”גופן” של התוכנה שלא ממומשים. הסבר למי שלא עבר כל הקוד: עבור על תו (גליף) ישנה פונקציה  שבודקת אותו ספציפית. כיוון שכל תו נראה שונה תחת typeface שונים, לתוכנה יש אפשרות גם לקבוע גם “גופן לשימוש”. כרגע יש ממומש רק “גופן 1” שמתאים ל-sans (או serif…?) בעברית. וגם הוא ממומש חלקית, אני חושב שהשלמת חלק מסימני הפיסוק תהיה משימה טובה עבורי. זה העיקר של הקוד – מה שבאמת חשוב.
  7. כרגע לפי דעתי הכי חשוב זה להשמיש את הממשק משתמש ולהחיות בחזרה את האפשרויות של התוכנה. 

כמו כן, הרצתי doxygen על הקוד שלו וקיבלתי כמה פנינות מאוד מעניינות. הינה דוגמה:


לחץ לקבלת התמונה בגודל מלא

 

אני שולח עדכונים לאתר בכל יום שאני עובד. מי שמעוניין לבדוק את הכל, מומלץ לו שיעדכן את הקוד פעם ביום יומים. הוראות למשיכה של הקוד זמינות באתר הפרוייקט:  http://code.google.com/p/qhocr


Share Button

One thought on “המשך עבודה על hebocr + QHOCR”

  1. הי דיאגו…

    למה אתה לא עושה delete ל-MainWindows

    QMainWindow *window = new MainWindow;
    window->show();

    עד כמה שזכור לי אתה חייב לעשות את זה. אני חושב ש־Valgrind לא יאהב את זה.

    אגב הקוד של ד”ר כתוב באמת מאוד יפה 🙂

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *