צורת כתיבת קוד

  • פותח הנושא snup
  • פורסם בתאריך

snup

New member
צורת כתיבת קוד

בעיה - איך לכתוב קוד ? כמתכנת מתחיל שמתי לב שישנן שתי צורות כתיבת קוד. האחת - צורת כתיבה אקדמית, והשניה צורת כתיבה של תכנתים מקצועיים(מחוץ לאקדמיה - בשטח). כדי להמחיש את הבעיה אתייחס לג'אווה - בג'אווה יש לשים סוגריים מסולסלות בכתיבת תנאים או בפתיחה של Class ובסיומו. שמתי לב שאין משמעות למיקום הסוגריים מבחינת הקומפיילר, יותר מזה - ניתן לכתוב בשורת התנאי גם את הפעולה שבאה בעקבות התנאי וזאת עם רווח מסויים באמצעות מקש ה- TAB כדי להפריד בין התנאי לפעולה וכמובן לא לשכוח את הסוגריים המסולסלות. אז נכון שבאקדמיה דורשים שכל סוגריים מסולסלות(פתיחה - } או סגירה {) יהיו בשורה נפרדת, לא כך הדבר בכתיבה של תכנתים ותיקים. גם כל ספרי התיכנות מצטיינים בנפח הגדול שיוצרת הכתיבה בסגנון האקדמיה. אז אני מבולבל - איך לכתוב?, האם בכל המכללות המקצועיות כדוגמת סיון ,ג'ון ברייס והייטק מלמדים כתיבה שונה מאשר באקדמיה? דרך אגב - למרצה לא מפריע באיזו צורה אכתוב את הקוד העיקר שאני אבין אותו ושהתוכנית תעבוד.
 

vinney

Well-known member
מאיפה הבאת את זה?

"צורת כתיבה אקדמית"? באמת... כל מרצה קובע את צורת כתיבה בהגשה שהוא מקבל. עקרונית יש סטנדרטים. מנסיון שלי (ועבדתי בכמה חברות כבר), בכל חברה וחברה יש סטנדרטים שלה לגבי איך הקוד אמור להראות, איך כותבים הערות, איך קובעים שמות למשתנים, ומה חוקי האינדנטציה. הקו המנחה הוא ליצור קוד קריא, ברור ומובן לכל אחד, ולא רק לך. תחשוב איך יהיה לך קל לקרוא קוד שמישהו שבחיים לא פגשת כתב, ולהבין מהר ונכון למה התכוון המשורר, וככה תכתוב גם אתה.
 

annefan

New member
הדבר החשוב ביותר ב-Coding Style

הוא שיהיה לך אחד כזה, ולא שלושים. החלוקה שאתה עושה בין האקדמיה לבין התעיה לא נכון מכמה כיוונים. אני ב"תעשיה", והסוגריים המסולסלים אצלי הם תמיד בשורה חדשה, לדוגמא. אני גם שם סוגריים מסולסלים על כל if, גם אם הוא שורה אחת. מצד שני, הרבה פעמים במקום שאתה עובד יש Coding Style מוכתב, שאתה חייב לעבוד לפיו, ולא בשום דרך אחרת (מכיר את ה-Hungarian Notation?) אתה שואל איך לכתוב? צא מנקודת הנחה שקוראים קוד, הרבה יותר פעמים מאשר כותבים אותו. יש ספר חינמי באינטרנט (האתר שלו עכשיו ירד, אבל אולי תוכל למצוא עותק) בשם Industrial Strength C++. לא חייבים לקבל הכל, אבל הוא מומלץ מאוד.
 

annefan

New member
לא, אבל מצאתי את מה שחיפשתי!

הנה הקישור (אגב, אין הבדל מהותי בין ++C ל-JAVA לגבי מה ששאלת)
 
למעלה