JavaRush /בלוג Java /Random-HE /10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי
Roman Beekeeper
רָמָה

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי

פורסם בקבוצה
שלום לכולם, קהילת JavaRush! 10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 1 היום נדבר על איכות הקוד. כן, כן, חברים יקרים. אף אחד לא מושלם. כולם מתישהו מגיעים להבנה שהקוד יכול להיות טוב יותר... אבל מה לעשות במצב הזה? לכל הפחות, התחל לחקור את הנושא הזה. מכיוון שאתה כאן, זה אומר שהנושא מעניין אותך, אז בוא נלך. היום נתאר דרכים בהן תוכלו להפוך את הקוד שלכם לטוב יותר ונקי יותר. כדי שבעתיד לא תתביישו בקוד הנוכחי שלכם!..)) כל השיטות הללו יעזרו למתכנת להפוך למתכנת טוב.

1. אם אתה רוצה לשפר את הקוד שלך, קרא את הקוד של מישהו אחר

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 2אם אתה רוצה לשפר באופן דרמטי את כישורי התכנות שלך, אתה צריך... לקרוא קוד שנכתב על ידי מתכנתים אחרים. אתה יכול להאמין בזה, אתה לא יכול להאמין בזה. אבל אם תיקח את הסיכון, אני מבטיח לך שיהיה פרס על הזמן שלך. לדוגמה, אל תקראו ב-Habré כיצד HashMap, ArrayList, LinkedList וכן הלאה עובדים, אלא קראו את הקוד שלהם ותבינו זאת בעצמכם. להלן רשימה של שיעורים לקריאה:
  1. HashMap היא השאלה הנפוצה ביותר בראיונות. אתה יכול להרוג כמה ציפורים במכה אחת: להבין את הקוד ולהשיג את הידע הדרוש.

  2. ArrayList הוא אותו מקרה כמו עם HashMap. אין שם דברים מסובכים, אבל באמת כדאי לקרוא ולהבין.

  3. מחרוזת היא דוגמה מצוינת. להבין למה זה בלתי ניתן לשינוי.

  4. AtomicInteger הוא מחלקה מגניבה: היא מתארת ​​את התהליך של איך לבצע פעולות אטומיות על אובייקטים שלמים.

  5. ואז - לפחות כל השיעורים ברצף...)

אם אנחנו מדברים על משהו רציני יותר, כמובן, כדאי לקרוא את הקוד של Pivotal. החבר'ה האלה כתבו את המערכת האקולוגית הכי מבוקשת בעולם הג'אווה. הקוד שלהם בהחלט שווה קריאה. לכן, אני ממליץ לך להתחיל עם Spring Core . קריאת קוד מקור לא מוכר היא עבודה מאתגרת אך מתגמלת מאוד.)

2. עקוב אחר קונבנציות קוד - מוסכמות לכתיבת קוד

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 3קונבנציות קידוד הן סט של קווים מנחים שפותחו על ידי צוותי פיתוח הכוללים קווים מנחים לסגנון תכנות וטכניקות לכל היבט של הקוד שנכתב בתוך חברה או פרויקט ספציפי. מוסכמות אלו הן בדרך כלל ספציפיות לכל שפת תכנות וארגון קבצים, הזחה, הערות, הצהרות, אופרטורים, רווחים, מוסכמות שמות, טכניקות ועקרונות תכנות, כללי תכנות, שיטות עבודה מומלצות ארכיטקטוניות וכו'. היתרון העיקרי של תקנים מסוימים הוא ש הקוד נראה אותו דבר וכתוב באותו סגנון. זה הופך אותו לקריאה יותר ועוזר למתכנתים להבין קוד שנכתב על ידי מתכנת אחר. אם תקני קידוד יתבצעו ויישמו באופן עקבי לאורך תהליך הפיתוח, יהיה קל יותר לתחזק ולהרחיב את הקוד, לשחזר אותו ולפתור קונפליקטים באינטגרציה בעתיד. מוסכמות קידוד חשובות למתכנתים ממספר סיבות:
  • 40%-80% מעלות התוכנה מושקעת בתחזוקה שלה;
  • כמעט שום תוכנה מתוחזקת על ידי המחבר לאורך חייו;
  • מוסכמות קוד משפרות את קריאות התוכנה, ומאפשרות למתכנתים להבין קוד חדש מהר יותר.
למען האמת, אני מעריץ גדול של תקני קידוד. בעיני הגיוני להשקיע זמן בדיון ובוויכוחים עליהם, שכן מדובר בפעילות רבת ערך שתחסוך לך זמן ומאמץ בעתיד. יש לבחון את אמנות הקוד לעתים קרובות. ניתן לתרגם כללים מ"חובה" ל"אופציונלי" ולהיפך. אם חלקם אינם פועלים כראוי, יש לעצב אותם מחדש או להסיר אותם מההנחיות.

3. השתמש בסקירת קוד - סקירת קוד על ידי אחרים

סקירת קוד היא אחד הכלים החזקים ביותר לשיפור קוד. 10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 4למה? כי הקוד ייבדק על ידי אותם מומחים שלא כתבו אותו. ומראה רענן מאוד שימושי. ולעתים קרובות זה Code Review שעוזר למנוע כתיבת קוד נורא למען האמת. אני יודע שזה לא תמיד אפשרי, כי אתה צריך למצוא אדם אחר שירצה לעשות את זה. אבל זה לא אומר שלא כדאי להשתמש בכלי הזה. להיפך: זו סיבה למצוא אנשים בעלי דעות דומות שגם להם חשוב לשפר את איכות הקוד. אגב, מי אוסר עליך למצוא אותם כאן ב-JavaRush? במקום שבו כולם רוצים להיות מתכנתים.

4. כתיבת מבחני יחידה - מבחני יחידה

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 5ללא ספק השיטה האהובה עלי לשיפור קוד היא כתיבת מבחני יחידות. יתרה מכך, ככל שתכתוב אותם יותר, כך ייטב. בתכנות מחשב, בדיקת יחידות היא תהליך פיתוח תוכנה שבו החלק הקטן ביותר הניתן לבדיקה של קוד המקור, הנקרא יחידה, נבדק באופן אינדיבידואלי ועצמאי כדי לבדוק האם הם פועלים כמצופה. זה יעזור לך לזהות כשלים באלגוריתמים ו/או לוגיקה לפני שחרור הקוד. מכיוון שבדיקת יחידות דורשת את המבנה המתאים של הקוד שלך, זה אומר שיש לחלק את הקוד לפונקציות קטנות וממוקדות יותר. כל אחד מהם אחראי לפעולה בודדת על סט נתונים, במקום פונקציות גדולות המבצעות מספר פעולות שונות.(כמו שאומרים, שלום מעיקרון האחריות היחידה ...) היתרון השני בכתיבת קוד בדוק היטב הוא שאתה יכול למנוע כשלים עתידיים בשינויים קטנים בפונקציונליות של שבירת קוד קיימת. כאשר מתרחש כשל, בדיקות היחידה יגידו לך שמשהו נכתב לא נכון. במבט ראשון, השקעת זמן בכתיבת מבחני יחידה במהלך הפיתוח נראית כהוצאה נוספת. עם זאת, זה יחסוך זמן בעתיד, אשר יהיה צורך לבזבז על ניפוי באגים. זה צריך להיות תהליך שלב אחר שלב. לכן, קדימה לשיר - לכתוב מבחנים לכל השיטות והשיעורים :D

5. השתמש בכלים לשיפור איכות הקוד

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 6אין מפתח שאף פעם לא עושה טעויות. בדרך כלל המהדר יתפוס בעיות תחביר וחשבון ויפיק עקבות מחסנית. אבל עדיין עשויות להיות כמה בעיות שהמהדר לא תופס. לדוגמה, דרישות שהוטמעו בצורה לא נכונה, אלגוריתמים שגויים, מבנה קוד שגוי או כמה בעיות פוטנציאליות המוכרות לקהילה מניסיון. הדרך היחידה לתפוס שגיאות כאלה היא לבקש ממפתח בכיר שיבדוק את הקוד שלך. גישה זו אינה תרופת פלא ומשתנה מעט. עם כל מפתח חדש בצוות, אמור להיות לך זוג עיניים נוסף להסתכל על הקוד שלו. אבל למרבה המזל, ישנם כלים רבים שיכולים לעזור לך לשלוט באיכות הקוד שלך. השתמשתי ב-Checkstyle, PMD, FindBugs, SonarQube בעבודה שלי על פרויקטים שונים. יש גם אחרים. כולם משמשים בדרך כלל לניתוח איכות ויצירת כמה דוחות שימושיים. לעתים קרובות מאוד דוחות אלה מתפרסמים על ידי שרתי אינטגרציה מתמשכים כגון Jenkins.

6. כתבו קוד פשוט וברור

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 7כתוב תמיד קוד פשוט, ברור והגיוני. אנשים נוטים לכתוב קוד מורכב כדי להוכיח את יכולתם לעשות זאת. קוד פשוט אך הגיוני תמיד עובד היטב, מביא פחות בעיות וניתן להרחבה יותר. קוד טוב פירושו תיעוד טוב יותר. אם אתה חושב להוסיף הערה, שאל את עצמך: " איך אני יכול לשפר את הקוד כך שאין צורך בהערה זו? " ~סטיב מקונל.

7. קרא את התיעוד

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 8אחד ההרגלים החשובים של מתכנתים טובים הוא לקרוא הרבה תיעוד. תן לזה להיות מפרטים, JSR, מסמכי API, מדריכים וכו'. קריאת מסמכים עוזרת לך לבנות את הבסיס החזק שעליו אתה מתכנת בצורה הטובה ביותר. אחרון חביב, אל תשווה את עצמך לאחרים, השוואת עצמך לאחרים תוביל רק לרגשות שליליים ולתחרות לא בריאה. לכל אחד יש את החוזקות והחולשות שלו. לכן, חשוב להכיר אותם ולעבוד איתם. נתחו את עצמכם, רשמו את החוזקות שלכם ועבדו עליהם. תכנות זה כיף אמיתי: תהנה מזה.

"הקבוע של אדם אחד הוא המשתנה של אדם אחר."

אלן ג'יי פרליס

8. עקבו אחר בלוגרים מעניינים

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 9ישנם אלפי חובבים ברחבי העולם שעובדים וכותבים על אותן טכנולוגיות. בלוגים נכתבים לרוב על ידי מתכנתים עצמם, ורובם חולקים דעות וחוויות אישיות. אתה יכול לראות נקודות מבט שונות של אותה טכנולוגיה בבלוגים. אתה יכול לראות גם טכנולוגיה טובה וגם רעה בבלוגים. לכל הפחות, קרא מאמרים על Habré JavaRush :D, כולל שלי. עקבו אחר בלוגים טובים והגיבו לפוסטים, שתפו את דעתכם.

9. קרא ספרים מיוחדים

10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 10שום דבר לא יכול להחליף ספר טוב. ספר טוב ילמד מושגים בסיסיים בצורה הרבה יותר פשוטה ויחול על אובייקטים בעולם האמיתי. המחברים שלהם הם מתכנתים גדולים בעצמם. על ידי קריאת ספרים, אתה יכול ללמוד מניסיונם של אחרים. אני מציע לקרוא את "Java. תכנות אפקטיבי מאת יהושע בלוך. ספר זה מציג שבעים ושמונה כללי אצבע של מתכנתים שאין להם תחליף: עבודה, הפתרונות הטובים ביותר לבעיות התכנות שאתה מתמודד איתם מדי יום. הוא מכיל את ההנחיות המעשיות והסמכותיות ביותר שתוכל להשתמש בהן כדי לכתוב תוכניות יעילות ומעוצבות היטב. אם אתה רק מתחיל עם Java ואין לך ניסיון בתכנות, אולי תרצה לקרוא את Sams Teach Yourself Java 2 ב-24 שעות. ולכתיבה של קוד נקי, יש ספר מצוין "קוד נקי מאת רוברט מרטין". אחריו תופיע "תחושת יופי" ביחס לקוד.

10. קוד! קוד! קוד!

אתה לא יכול להפוך למתכנת טוב רק על ידי שינון ספר. 10 דרכים לשפר את הקוד שלך, נבדקו מניסיון אישי - 11קל לדבר על מושגים תיאורטיים. אבל אתה יכול ללמוד מגבלות שפה או לפתח שיטות עבודה מומלצות רק כשאתה כותב קוד. לכן, כדי להיות מתכנת טוב, אתה צריך לכתוב הרבה קוד. אם אתם מתחילים, התחילו בכתיבת תוכניות לבעיות פשוטות כמו סדרת פיבונאצ'י, פלינדרום, המשולש של פסקל וכו' ואז עברו לבעיות גדולות יותר כמו עץ ​​חיפוש בינארי וכו'. אם אתם מחפשים פלטפורמה מקוונת לתרגול תוכניות Java, תסתכל על Coding Ground . יתר על כן, אתה יכול לקחת את קורס CS50 , שתרגומו נמסר לנו על ידי "אתם יודעים מי" :D

בואו נסכם את זה

מי שלא עושה כלום לא עושה טעויות. לכן, עלינו להיות סבלניים, וכמו יפני חרוץ, אנו משפרים את כישורי הקידוד שלנו. בשביל זה, אל תשכח:
  • קרא את הקוד של מישהו אחר;
  • לבצע ולבקש קוד Reivew;
  • לכתוב מבחני יחידה;
  • להשתמש בכלים לשיפור הקוד;
  • לכתוב קוד פשוט ומובן;
  • קרא את התיעוד של אלה שהיו מסוגלים;
  • לעקוב אחר מתכנתים מעניינים;
  • לקרוא ספרים מיוחדים;
  • קוד! קוד! קוד!
  • הירשם ל- Roman ב-GitHub .

קישורים שימושיים

עוד מאמרים שלי

הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION