הכרת סטנדרטים ושיטות עבודה מומלצות בתעשייה היא חשובה למדי בכל תחום, ובמיוחד בתכנות עם התמהיל המורכב ולעיתים כאוטי של שפות קידוד, כלים, גישות וטכנולוגיות. לכן מתכנת ג'אווה מקצועי צריך להכיר היטב את מוסכמות הקידוד של ג'אווה, ועל זה אנחנו הולכים לדבר היום.
מעקב אחר קונבנצית קידוד מאפשר לכתוב את פרויקט התוכנה בסגנון מאוחד אחד, מה שמועיל בכמה דרכים שונות כגון הבאות.
אחד החשובים שבהם הוא להקל על התחזוקה והתמיכה במוצר התוכנה, שכן לעתים קרובות מאוד המחברים המקוריים של התוכנית אינם אלה שתומכים בה. זה חשוב שכן 80% מעלות החיים של תוכנה הולכת לתחזוקה.
שיפור קריאות התוכנה הוא יתרון מרכזי נוסף, שיש לו גם השלכות מרובות כמו פישוט הכנסת מפתחים חדשים לפרויקט והגברת יעילות שיתוף הפעולה של חברי צוות הפיתוח.
לבסוף, יש צורך בקוד כתוב ומובנה כהלכה כדי שתהליך פיתוח התוכנה יעבור מהר ככל האפשר.
אמנת הקוד של אורקל מוכרת כחשובה ביותר מכמה סיבות ברורות: האמנה של אורקל היא הרשמית שכן אורקל היא הבעלים של ג'אווה, כמו גם אחת הוותיקה ביותר (הגרסה האחרונה של מסמך זה נעשתה ב-20 באפריל, 1999). חלק מהחלקים החשובים של אמנת Java Code של אורקל יהיו ההמלצה להשתמש במקרה גמל בעת הגדרת מחלקות, שיטות או משתנים, להתחיל מחלקות באות גדולה ולהשתמש בשמות עצם כדי לתת להם שם, תוך שימוש בפעלים בצורת ציווי והתחלת מאות קטנה לשיטות וכו'.
מוסכמות קידוד Java מבית גוגל נחשבות חשובות בשל מעמדה של גוגל כחברת האינטרנט והטכנולוגיה הלומדת עם ניסיון עצום בפיתוח כל מיני יישומי Java. סיבה חשובה נוספת היא העובדה שמוסכמות קוד ה-Java של גוגל עודכנה ב-22 במאי 2018, מה שהופך אותה לרלוונטית יותר ממוסכמות הקוד של אורקל, במיוחד כשמדובר בתיאור תכונות חדשות יחסית של ג'אווה שיצאו רק כחלק של Java 8 בשנת 2014, כמו למבדות וזרמים. כך מתארים מחברי מדריך הסגנון של Google Java את התוכן של אמנת קידוד זו: "מסמך זה משמש כהגדרה המלאה של תקני הקידוד של גוגל עבור קוד מקור ב-Java. בדומה למדריכי סגנון תכנות אחרים, הנושאים המכוסים כוללים לא רק סוגיות אסתטיות של עיצוב, אלא גם סוגים אחרים של מוסכמות או תקני קידוד. עם זאת, מסמך זה מתמקד בעיקר בחוקים הקשים והמהירים שאנו פועלים לפיהם באופן אוניברסלי, ונמנע מלתת עצות שאינן ניתנות לאכיפה בבירור (בין אם על ידי אדם או בכלי). "מדריך הסגנונות של גוגל ג'אווה הוא התייחסות טובה לרוב, אבל הוא קצת מתירני בנושאים מסוימים. מצד שני, כמתכנת ג'אווה אתה חייב להיות רגיל ל-4 רווחים להכנסת קוד, בין היתר", אמר דיוויד ריוס, ארכיטקט תוכנה ומתכנת ג'אווה מנוסה, בפוסט בלינקדאין עם כמה התאמות מוצעות ל-Google Java Style
Guide משלו.
![מוסכמות קידוד Java. אילו מהם לעקוב ולמה - 1](https://cdn.codegym.cc/images/article/25f8e562-4e63-45a6-8bce-50e858141f6b/800.jpeg)
מהן מוסכמות קידוד?
מוסכמות קידוד הן קבוצות של קווים מנחים לכל שפת תכנות ספציפית עם המלצות על היבטים שונים של פיתוח תוכנה בשפה זו, כולל סגנון קידוד, שיטות עבודה מומלצות ושיטות. קונבנציות הקידוד נועדו לעקוב אחר מתכנתי תוכנה המקודדים בשפה זו כמדריכי האיכות כדי להבטיח שהקוד שלהם קריא ותחזוקה נכונה של התוכנה על ידי אנשים אחרים אפשרית. מוסכמות קידוד מכסות בדרך כלל כל מרכיב חיוני בייצור תוכנה בשפת תכנות זו, כולל ארגון קבצים, הזחה, הערות, הצהרות, הצהרות, רווח לבן, מוסכמות שמות, שיטות תכנות, עקרונות תכנות, כללי אצבע לתכנות, שיטות עבודה מומלצות ארכיטקטוניות ועוד. .מה המטרה של קידוד מוסכמות?
ישנן מספר סיבות מדוע מוסכמות קידוד ממלאות תפקיד חשוב בפיתוח תוכנה.
- שמירה על סגנון קוד אחיד
מעקב אחר קונבנצית קידוד מאפשר לכתוב את פרויקט התוכנה בסגנון מאוחד אחד, מה שמועיל בכמה דרכים שונות כגון הבאות.
- צמצום עלויות תחזוקה של תוכנה
אחד החשובים שבהם הוא להקל על התחזוקה והתמיכה במוצר התוכנה, שכן לעתים קרובות מאוד המחברים המקוריים של התוכנית אינם אלה שתומכים בה. זה חשוב שכן 80% מעלות החיים של תוכנה הולכת לתחזוקה.
- שיפור קריאות התוכנה
שיפור קריאות התוכנה הוא יתרון מרכזי נוסף, שיש לו גם השלכות מרובות כמו פישוט הכנסת מפתחים חדשים לפרויקט והגברת יעילות שיתוף הפעולה של חברי צוות הפיתוח.
- מזרז את העבודה
לבסוף, יש צורך בקוד כתוב ומובנה כהלכה כדי שתהליך פיתוח התוכנה יעבור מהר ככל האפשר.
מוסכמות קידוד Java
כשזה מגיע ל-Java, ישנן שתי מוסכמות קידוד נפוצות ומוכרות ביותר: מוסכמות ה-Java Code של Oracle ו- Java Style Guide של גוגל .
- אמנת Java Code של אורקל
אמנת הקוד של אורקל מוכרת כחשובה ביותר מכמה סיבות ברורות: האמנה של אורקל היא הרשמית שכן אורקל היא הבעלים של ג'אווה, כמו גם אחת הוותיקה ביותר (הגרסה האחרונה של מסמך זה נעשתה ב-20 באפריל, 1999). חלק מהחלקים החשובים של אמנת Java Code של אורקל יהיו ההמלצה להשתמש במקרה גמל בעת הגדרת מחלקות, שיטות או משתנים, להתחיל מחלקות באות גדולה ולהשתמש בשמות עצם כדי לתת להם שם, תוך שימוש בפעלים בצורת ציווי והתחלת מאות קטנה לשיטות וכו'.
- מדריך סגנונות ג'אווה של גוגל
מוסכמות קידוד Java מבית גוגל נחשבות חשובות בשל מעמדה של גוגל כחברת האינטרנט והטכנולוגיה הלומדת עם ניסיון עצום בפיתוח כל מיני יישומי Java. סיבה חשובה נוספת היא העובדה שמוסכמות קוד ה-Java של גוגל עודכנה ב-22 במאי 2018, מה שהופך אותה לרלוונטית יותר ממוסכמות הקוד של אורקל, במיוחד כשמדובר בתיאור תכונות חדשות יחסית של ג'אווה שיצאו רק כחלק של Java 8 בשנת 2014, כמו למבדות וזרמים. כך מתארים מחברי מדריך הסגנון של Google Java את התוכן של אמנת קידוד זו: "מסמך זה משמש כהגדרה המלאה של תקני הקידוד של גוגל עבור קוד מקור ב-Java. בדומה למדריכי סגנון תכנות אחרים, הנושאים המכוסים כוללים לא רק סוגיות אסתטיות של עיצוב, אלא גם סוגים אחרים של מוסכמות או תקני קידוד. עם זאת, מסמך זה מתמקד בעיקר בחוקים הקשים והמהירים שאנו פועלים לפיהם באופן אוניברסלי, ונמנע מלתת עצות שאינן ניתנות לאכיפה בבירור (בין אם על ידי אדם או בכלי). "מדריך הסגנונות של גוגל ג'אווה הוא התייחסות טובה לרוב, אבל הוא קצת מתירני בנושאים מסוימים. מצד שני, כמתכנת ג'אווה אתה חייב להיות רגיל ל-4 רווחים להכנסת קוד, בין היתר", אמר דיוויד ריוס, ארכיטקט תוכנה ומתכנת ג'אווה מנוסה, בפוסט בלינקדאין עם כמה התאמות מוצעות ל-Google Java Style
Guide משלו.
תקני קידוד ג'אווה הנפוצים ביותר
להלן כמה מתקני הקידוד של Java הנפוצים ביותר שניתן למצוא במוסכמות הקידוד שהוזכרו לעיל של אורקל וגוגל, כמו גם מסמכים אחרים מסוג זה.- פעל לפי מוסכמות השמות הנאותות;
- הוסף תגובות;
- מזהה פירושו שם סמלי המתייחס לשם של מחלקות, חבילות, שיטות ומשתנים בתוכנת Java;
- שם המשתנה צריך להיות קשור למטרה שלו;
- שם השיטה צריך להתייחס לפונקציונליות של השיטה;
- השיטה לא צריכה להכיל יותר מ-50 שורות;
- לא צריך להיות קוד כפול באותה מחלקה או מחלקה אחרת;
- הצהר על משתנים גלובליים רק אם יש צורך להשתמש בהם בשיטות האחרות;
- בדוק פעמיים יצירת משתנים סטטיים בתוך מחלקה;
- הימנע מגישה למשתנים ישירות ממחלקות אחרות במקום להשתמש בשיטות getter ו-seter;
- יש לטפל בכל ההיגיון העסקי במחלקת השירות בלבד;
- כל הקוד הקשור ל-DB צריך להיות במחלקות DAO בלבד;
- השתמש ב-Gutters ו-seters;
- הכרזה על משתנה מופע כפרטי;
- שמור על היקף המשתנים מינימלי;
- הקצה שמות משמעותיים למשתנים;
- הימנע מדליפות זיכרון על ידי שחרור חיבורי מסד נתונים כאשר השאילתה הושלמה;
- נסה להשתמש ב- Finally block לעתים קרובות ככל האפשר;
- השתמש במסגרת ה-Executor עבור תכנות מרובה הליכי.
GO TO FULL VERSION