CodeGym /בלוג Java /Random-HE /למה אתה צריך לקרוא את הקוד של אנשים ואיך לעשות את זה נכון...
John Squirrels
רָמָה
San Francisco

למה אתה צריך לקרוא את הקוד של אנשים ואיך לעשות את זה נכון

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

חשיבות קריאת קודים של אחרים

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

איך לחפור בקוד

כשאתה צולל לתוך הקוד של אחרים, אתה עלול להרגיש יותר כמו ארכיאולוג-חוקר ולא כמפתח. אין בזה שום דבר רע מכיוון שיש לך הרבה "אתים" לרשותך. כיום, יש לך גישה להרבה מטא נתונים שיעזרו לך להבין את הקוד הרבה יותר קל. לדוגמה, אתה יכול להשתמש ב-Git כדי לעזור לעצמך בעת קריאה, העתקה והדבקה של הקוד. עם זאת, כמה נקודות מפתח יכולות לעזור לך להבין את הקוד טוב יותר בהתחלה. קודם כל כדאי לשאול את השאלות הבאות:
  • האם יש משהו בקוד שנראה לך לא מוכר? אם כן, עיין ב"רווחים הריקים" הללו וודא שאתה מבין למה הם משמשים.
  • האם יש משהו מיותר בקוד? קיימים גם קודים מתים, במיוחד אם אנחנו מדברים על בסיסי קוד גדולים.
  • האם לקוד יש תלות כלשהי? לפעמים עדיף להסיר את התלות על ידי העתקה/הדבקה של עוד יותר קוד.
  • האם יש שגיאות שהתרחשו לאחר ההדבקה?
המלצה נוספת היא למצוא מה הקוד עושה ולעקוב אחר פעולות אלו לאחור . לדוגמה, אם אתה יודע שהקוד שאתה צופה בו יוצר קובץ עם רשימה של כותרות סרטים, נסה להבין באילו שורות ספציפיות הקוד יוצר את הקובץ הזה. לאחר מכן, זז צעד אחורה כדי לגלות כיצד הקוד ממקם את המידע בקובץ זה. לאחר מכן, זז עוד צעד אחד אחורה כדי להבין מאיפה מגיעים הנתונים... יש לך את הרעיון. ניתן לכנות את החלקים האמורים בקוד "שרשרת פעולות". מה שעשוי לתת לך תובנה מצוינת בדברים כמו:
  • איך בעצם בנוי גוף הקוד;
  • סגנון הקידוד;
  • כיצד המתכנת שכתב את הקוד פותר את הבעיות.
כמו כן, תוכל לנסות את התהליך בן 4 השלבים הבא כדי ללמוד עוד על הקוד עליו אתה עובד:
  • הפעל את הקוד וחקור את התוצאות. הפעלת הקוד תיתן לך את המידע החיוני שתצטרך כדי להבין אותו טוב יותר.

  • מצא את הפונקציה העיקרית שלו ואת נקודת ההתחלה.

  • הפעל את הקוד עם ה-debugger (ייתכן שתמצא את כלי ניפוי ה-Java היעילים ביותר כאן ) כדי להבין את מכניקת הקוד במלואה. על ידי כך, תקבל ניתוח מעמיק של הפונקציונליות הפנימית של הקוד שאתה קורא.

  • בנו מפת חשיבה של הקשרים בין אלמנטים שונים בקוד. מכיוון שכל באגים יראה לך חיבור בין האלמנטים, תוכל לקשר בין פונקציות שונות ולהבין כיצד הן מתקשרות זו עם זו.

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

מה המלכוד?

אולי אתה עדיין תוהה מה הטעם לקרוא ולהבין קודים של מתכנתים אחרים? למעשה, זו הזדמנות מצוינת להבין איך מודולים מוכנים עובדים "מתחת למכסה המנוע" וללמוד משהו חדש. ואם אתה מרגיש שהמוח שלך מוכן לעבד את המידע בדרך אחרת מאשר רק קריאת תיאוריה ותרגול, כנראה שהגיע הזמן שתשדרג את כישורי הג'אווה שלך בלי הרבה מאמץ נוסף.

תופעות "לוואי" אחרות של שימוש בקודים של אנשים אחרים: חיזוק הביטחון

גם אם קראת את קוד המקור של מערכת OSS כלשהי (תוכנת קוד פתוח שזמינה לכולם) אבל לא הבנת כלום, אל תדאג. זה בסדר גמור, במיוחד כשאתה רק לומד. יכול להיות שזה רק אומר שאתה עדיין לא מוכן. עם זאת, אם הצלחת להבין את הקוד, אז אתה בהחלט תקבל דחיפה בביטחון שלך כמפתח Java. כאשר אתה יכול להבין בדיוק איך פרויקט, תוכנה או אפליקציה מהעולם האמיתי עובד, אז אתה בוודאי כבר יודע הרבה על תכנות. לפיכך, אין דרך לעצור את תהליך הלמידה שלך. זה רק נאמר, ב-CodeGym, אנחנו לא ממליצים להרים משקלים כבדים מדי בהתחלה. אל תחפור ביישומים או מערכות הפעלה גדולות, מכיוון שחוויה זו עשויה להיות די מתסכלת ולא מעוררת השראה. במקום זאת, התחל בקטן ועיין בסעיף "עזרה" שלנו , שבו תוכל להתאמן לקרוא קודים של תלמידים אחרים, לתת להם רמזים או ללמוד מהניסיון שלהם. כמו כן, תוכל לגלות כיצד עמיתיך פותרים את אותן משימות. דרך נוספת שעשוי לתפוס אותך היא קהילת StackOverflow , שבה הקודים שנכתבו על ידי מתכנתים אחרים הם בדרך כלל בנויים למדי, מעוצבים וכבר מוענקים. בהדרגה, ההרגל לקרוא קודים איכותיים (אך לא מסובכים מדי) מעמיתיך יביא אותך לרמה חדשה לגמרי של תכנות.

מה עוד?

קריאת קודים באופן קבוע גם תעודד אותך להשתמש בהם מאוחר יותר בפרויקטים שלך, ובסופו של דבר לשנות ולהרגיל אותם לצרכים הספציפיים שלך. כמובן, אם אנחנו מדברים על קודי תוכנת קוד פתוח שבהם הרישיון מאפשר לך לשנות אותם. קוד כזה יחסוך לך זמן רב ביצירת פרויקטים מאפס ויפתח אותך לרמה חדשה של תכנות. כפי שאתה רואה, קריאה, העתקה והדבקה של קוד יכולים לעזור לשפר את המיומנות שלך ולחסוך זמן משמעותי. והזמן הנוסף הזה יעזור לך לפתור את הבעיה הנכונה ולהגביר את המהירות שלך. למעשה, לפעמים העתקה והדבקה של קוד שכבר קיים היא דרך הפעולה הטובה ביותר, אבל זכור תמיד לגבי תנאי הרישיון וההתעמקות המלאה בקוד שאתה מעתיק. GitHub , GitLab , FreeCodeCamp או SourceForge הם המשאבים הפתוחים הטובים ביותר ללא תקלות המאפשרים לך להציץ לקודים של מפתחים אחרים.

סיכום

אף מתכנת לא יכול בלי לקרוא קוד ישן כחלק מכתיבת קוד חדש. וככל שאתה מתכנת יותר זמן, אתה רואה יותר קודים שונים ויותר קל לך להבין אותם. זכור שכאשר יהיה קל יותר לקרוא דוגמאות קוד, יהיה קל יותר לכתוב דוגמאות חדשות. במילה אחת, זה מחזור פנטסטי שמנציח את עצמו שבו אתה מקבל את היכולת להבין את הקודים של אחרים בצורה מהירה ויעילה יותר. מכאן, תראה גם רווחים חיוביים בקידוד שלך. לכן, אם אתה מחפש פחות הפסקות ויותר התקדמות, אל תזניח קריאה, הבנה ושינוי של קודים קיימים!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION