שלום לכולם, קהילת JavaRush! היום נדבר על איכות הקוד. כן, כן, חברים יקרים. אף אחד לא מושלם. כולם מתישהו מגיעים להבנה שהקוד יכול להיות טוב יותר... אבל מה לעשות במצב הזה? לכל הפחות, התחל לחקור את הנושא הזה. מכיוון שאתה כאן, זה אומר שהנושא מעניין אותך, אז בוא נלך. היום נתאר דרכים בהן תוכלו להפוך את הקוד שלכם לטוב יותר ונקי יותר. כדי שבעתיד לא תתביישו בקוד הנוכחי שלכם!..)) כל השיטות הללו יעזרו למתכנת להפוך למתכנת טוב.
Habré JavaRush :D, כולל שלי. עקבו אחר בלוגים טובים והגיבו לפוסטים, שתפו את דעתכם.
1. אם אתה רוצה לשפר את הקוד שלך, קרא את הקוד של מישהו אחר
אם אתה רוצה לשפר באופן דרמטי את כישורי התכנות שלך, אתה צריך... לקרוא קוד שנכתב על ידי מתכנתים אחרים. אתה יכול להאמין בזה, אתה לא יכול להאמין בזה. אבל אם תיקח את הסיכון, אני מבטיח לך שיהיה פרס על הזמן שלך. לדוגמה, אל תקראו ב-Habré כיצד HashMap, ArrayList, LinkedList וכן הלאה עובדים, אלא קראו את הקוד שלהם ותבינו זאת בעצמכם. להלן רשימה של שיעורים לקריאה:-
HashMap היא השאלה הנפוצה ביותר בראיונות. אתה יכול להרוג כמה ציפורים במכה אחת: להבין את הקוד ולהשיג את הידע הדרוש.
-
ArrayList הוא אותו מקרה כמו עם HashMap. אין שם דברים מסובכים, אבל באמת כדאי לקרוא ולהבין.
-
מחרוזת היא דוגמה מצוינת. להבין למה זה בלתי ניתן לשינוי.
-
AtomicInteger הוא מחלקה מגניבה: היא מתארת את התהליך של איך לבצע פעולות אטומיות על אובייקטים שלמים.
-
ואז - לפחות כל השיעורים ברצף...)
2. עקוב אחר קונבנציות קוד - מוסכמות לכתיבת קוד
קונבנציות קידוד הן סט של קווים מנחים שפותחו על ידי צוותי פיתוח הכוללים קווים מנחים לסגנון תכנות וטכניקות לכל היבט של הקוד שנכתב בתוך חברה או פרויקט ספציפי. מוסכמות אלו הן בדרך כלל ספציפיות לכל שפת תכנות וארגון קבצים, הזחה, הערות, הצהרות, אופרטורים, רווחים, מוסכמות שמות, טכניקות ועקרונות תכנות, כללי תכנות, שיטות עבודה מומלצות ארכיטקטוניות וכו'. היתרון העיקרי של תקנים מסוימים הוא ש הקוד נראה אותו דבר וכתוב באותו סגנון. זה הופך אותו לקריאה יותר ועוזר למתכנתים להבין קוד שנכתב על ידי מתכנת אחר. אם תקני קידוד יתבצעו ויישמו באופן עקבי לאורך תהליך הפיתוח, יהיה קל יותר לתחזק ולהרחיב את הקוד, לשחזר אותו ולפתור קונפליקטים באינטגרציה בעתיד. מוסכמות קידוד חשובות למתכנתים ממספר סיבות:- 40%-80% מעלות התוכנה מושקעת בתחזוקה שלה;
- כמעט שום תוכנה מתוחזקת על ידי המחבר לאורך חייו;
- מוסכמות קוד משפרות את קריאות התוכנה, ומאפשרות למתכנתים להבין קוד חדש מהר יותר.
3. השתמש בסקירת קוד - סקירת קוד על ידי אחרים
סקירת קוד היא אחד הכלים החזקים ביותר לשיפור קוד. למה? כי הקוד ייבדק על ידי אותם מומחים שלא כתבו אותו. ומראה רענן מאוד שימושי. ולעתים קרובות זה Code Review שעוזר למנוע כתיבת קוד נורא למען האמת. אני יודע שזה לא תמיד אפשרי, כי אתה צריך למצוא אדם אחר שירצה לעשות את זה. אבל זה לא אומר שלא כדאי להשתמש בכלי הזה. להיפך: זו סיבה למצוא אנשים בעלי דעות דומות שגם להם חשוב לשפר את איכות הקוד. אגב, מי אוסר עליך למצוא אותם כאן ב-JavaRush? במקום שבו כולם רוצים להיות מתכנתים.4. כתיבת מבחני יחידה - מבחני יחידה
ללא ספק השיטה האהובה עלי לשיפור קוד היא כתיבת מבחני יחידות. יתרה מכך, ככל שתכתוב אותם יותר, כך ייטב. בתכנות מחשב, בדיקת יחידות היא תהליך פיתוח תוכנה שבו החלק הקטן ביותר הניתן לבדיקה של קוד המקור, הנקרא יחידה, נבדק באופן אינדיבידואלי ועצמאי כדי לבדוק האם הם פועלים כמצופה. זה יעזור לך לזהות כשלים באלגוריתמים ו/או לוגיקה לפני שחרור הקוד. מכיוון שבדיקת יחידות דורשת את המבנה המתאים של הקוד שלך, זה אומר שיש לחלק את הקוד לפונקציות קטנות וממוקדות יותר. כל אחד מהם אחראי לפעולה בודדת על סט נתונים, במקום פונקציות גדולות המבצעות מספר פעולות שונות.(כמו שאומרים, שלום מעיקרון האחריות היחידה ...) היתרון השני בכתיבת קוד בדוק היטב הוא שאתה יכול למנוע כשלים עתידיים בשינויים קטנים בפונקציונליות של שבירת קוד קיימת. כאשר מתרחש כשל, בדיקות היחידה יגידו לך שמשהו נכתב לא נכון. במבט ראשון, השקעת זמן בכתיבת מבחני יחידה במהלך הפיתוח נראית כהוצאה נוספת. עם זאת, זה יחסוך זמן בעתיד, אשר יהיה צורך לבזבז על ניפוי באגים. זה צריך להיות תהליך שלב אחר שלב. לכן, קדימה לשיר - לכתוב מבחנים לכל השיטות והשיעורים :D5. השתמש בכלים לשיפור איכות הקוד
אין מפתח שאף פעם לא עושה טעויות. בדרך כלל המהדר יתפוס בעיות תחביר וחשבון ויפיק עקבות מחסנית. אבל עדיין עשויות להיות כמה בעיות שהמהדר לא תופס. לדוגמה, דרישות שהוטמעו בצורה לא נכונה, אלגוריתמים שגויים, מבנה קוד שגוי או כמה בעיות פוטנציאליות המוכרות לקהילה מניסיון. הדרך היחידה לתפוס שגיאות כאלה היא לבקש ממפתח בכיר שיבדוק את הקוד שלך. גישה זו אינה תרופת פלא ומשתנה מעט. עם כל מפתח חדש בצוות, אמור להיות לך זוג עיניים נוסף להסתכל על הקוד שלו. אבל למרבה המזל, ישנם כלים רבים שיכולים לעזור לך לשלוט באיכות הקוד שלך. השתמשתי ב-Checkstyle, PMD, FindBugs, SonarQube בעבודה שלי על פרויקטים שונים. יש גם אחרים. כולם משמשים בדרך כלל לניתוח איכות ויצירת כמה דוחות שימושיים. לעתים קרובות מאוד דוחות אלה מתפרסמים על ידי שרתי אינטגרציה מתמשכים כגון Jenkins.6. כתבו קוד פשוט וברור
כתוב תמיד קוד פשוט, ברור והגיוני. אנשים נוטים לכתוב קוד מורכב כדי להוכיח את יכולתם לעשות זאת. קוד פשוט אך הגיוני תמיד עובד היטב, מביא פחות בעיות וניתן להרחבה יותר. קוד טוב פירושו תיעוד טוב יותר. אם אתה חושב להוסיף הערה, שאל את עצמך: " איך אני יכול לשפר את הקוד כך שאין צורך בהערה זו? " ~סטיב מקונל.7. קרא את התיעוד
אחד ההרגלים החשובים של מתכנתים טובים הוא לקרוא הרבה תיעוד. תן לזה להיות מפרטים, JSR, מסמכי API, מדריכים וכו'. קריאת מסמכים עוזרת לך לבנות את הבסיס החזק שעליו אתה מתכנת בצורה הטובה ביותר. אחרון חביב, אל תשווה את עצמך לאחרים, השוואת עצמך לאחרים תוביל רק לרגשות שליליים ולתחרות לא בריאה. לכל אחד יש את החוזקות והחולשות שלו. לכן, חשוב להכיר אותם ולעבוד איתם. נתחו את עצמכם, רשמו את החוזקות שלכם ועבדו עליהם. תכנות זה כיף אמיתי: תהנה מזה."הקבוע של אדם אחד הוא המשתנה של אדם אחר."
8. עקבו אחר בלוגרים מעניינים
ישנם אלפי חובבים ברחבי העולם שעובדים וכותבים על אותן טכנולוגיות. בלוגים נכתבים לרוב על ידי מתכנתים עצמם, ורובם חולקים דעות וחוויות אישיות. אתה יכול לראות נקודות מבט שונות של אותה טכנולוגיה בבלוגים. אתה יכול לראות גם טכנולוגיה טובה וגם רעה בבלוגים. לכל הפחות, קרא מאמרים על9. קרא ספרים מיוחדים
שום דבר לא יכול להחליף ספר טוב. ספר טוב ילמד מושגים בסיסיים בצורה הרבה יותר פשוטה ויחול על אובייקטים בעולם האמיתי. המחברים שלהם הם מתכנתים גדולים בעצמם. על ידי קריאת ספרים, אתה יכול ללמוד מניסיונם של אחרים. אני מציע לקרוא את "Java. תכנות אפקטיבי מאת יהושע בלוך. ספר זה מציג שבעים ושמונה כללי אצבע של מתכנתים שאין להם תחליף: עבודה, הפתרונות הטובים ביותר לבעיות התכנות שאתה מתמודד איתם מדי יום. הוא מכיל את ההנחיות המעשיות והסמכותיות ביותר שתוכל להשתמש בהן כדי לכתוב תוכניות יעילות ומעוצבות היטב. אם אתה רק מתחיל עם Java ואין לך ניסיון בתכנות, אולי תרצה לקרוא את Sams Teach Yourself Java 2 ב-24 שעות. ולכתיבה של קוד נקי, יש ספר מצוין "קוד נקי מאת רוברט מרטין". אחריו תופיע "תחושת יופי" ביחס לקוד.10. קוד! קוד! קוד!
אתה לא יכול להפוך למתכנת טוב רק על ידי שינון ספר. קל לדבר על מושגים תיאורטיים. אבל אתה יכול ללמוד מגבלות שפה או לפתח שיטות עבודה מומלצות רק כשאתה כותב קוד. לכן, כדי להיות מתכנת טוב, אתה צריך לכתוב הרבה קוד. אם אתם מתחילים, התחילו בכתיבת תוכניות לבעיות פשוטות כמו סדרת פיבונאצ'י, פלינדרום, המשולש של פסקל וכו' ואז עברו לבעיות גדולות יותר כמו עץ חיפוש בינארי וכו'. אם אתם מחפשים פלטפורמה מקוונת לתרגול תוכניות Java, תסתכל על Coding Ground . יתר על כן, אתה יכול לקחת את קורס CS50 , שתרגומו נמסר לנו על ידי "אתם יודעים מי" :Dבואו נסכם את זה
מי שלא עושה כלום לא עושה טעויות. לכן, עלינו להיות סבלניים, וכמו יפני חרוץ, אנו משפרים את כישורי הקידוד שלנו. בשביל זה, אל תשכח:- קרא את הקוד של מישהו אחר;
- לבצע ולבקש קוד Reivew;
- לכתוב מבחני יחידה;
- להשתמש בכלים לשיפור הקוד;
- לכתוב קוד פשוט ומובן;
- קרא את התיעוד של אלה שהיו מסוגלים;
- לעקוב אחר מתכנתים מעניינים;
- לקרוא ספרים מיוחדים;
- קוד! קוד! קוד!
- הירשם ל- Roman ב-GitHub .
קישורים שימושיים
- 10 דרכים לשפר את כישורי התכנות שלך
- דרך קלה אחת לשפר את כישורי התכנות שלך היא לקרוא קוד של אנשים אחרים
- 11 שיטות עבודה וכלים מומלצים לשיפור איכות קוד Java
- כיצד לשפר את מיומנות התכנות ב-Java
- 10 טיפים כדי להפוך למפתח Java טוב יותר
עוד מאמרים שלי
- איתור באגים ב- Intellij IDEA: מדריך למתחילים
- מדריך ליצירת לקוח עבור Skyscanner API ופרסום שלו ב-jCenter וב-Maven Central [חלק 1]
- יצירת מערכת לניטור מחירי כרטיסי טיסה: מדריך שלב אחר שלב [חלק 1]
- רישום: מה, איך, איפה ועם מה? איך מבחן ראיון הפך לספריית קוד פתוח
- היסטוריה של הצלחה. 20 שעות תכנות שבועיות, תואר שני וחיים אישיים
- איך למצוא עבודה? טיפים לשליחת קורות חיים
GO TO FULL VERSION