פרסומת

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

ואילו העקרונות הנזכרים מלמדים אתכם להיות חכם בעזרת הקוד שלך, העקרונות הבאים ילמדו אותך להיות חכם עם הקוד שלך. חלקם מוזרים, ורבים מהם הומוריסטיים, אך כולם פרקטיים וחשובים לא פחות. שימו לב!

1. עקרון הנפיחות

לזה יש כל כך הרבה וריאציות שקשה לבחור אחת כזו העיקרית. אולי הגרסה ה"רשמית "ביותר היא חוק מעטפת התוכנה, הנקרא יותר החוק של זאווינסקי, על שמו של ג'יימי זווינסקי והוזכר ב- אומנות תכנות UNIX:

"כל תוכנית מנסה להתרחב עד שהיא יכולה לקרוא דואר. התוכנות שאינן יכולות להתרחב כל כך מוחלפות על ידי תוכנות שיכולות. "

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

instagram viewer

זה יכול לחול גם על ביצועי תוכנה:

"התוכנה מתרחבת לצרוך את כל המשאבים הזמינים."

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

עקרונות התכנות המשונים ביותר שמעולם לא שמעתם על תכנות מק מחשבים ניידים

2. המנטליות "הגרוע יותר טוב"

כמעט כאילו בתגובה לעיקרון הנפיחות, יש לנו את גרוע מנטליות טובה יותר, שטבע לראשונה ריצ'רד פ. גבריאל במאמר שכתב על איכות תוכנה:

"תוכנה מוגבלת, אך פשוטה לשימוש, עשויה להיות מושכת יותר את המשתמש ואת השוק מאשר ההפך."

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

מה קורה כשאתה מתעלם מכך? בסופו של דבר עם תוכנת עקרון פיטר:

"פרויקט מורכב מדי יהפוך בסופו של דבר למורכב מכדי שיוכל להבין אותו אפילו על ידי המפתחים שלו."

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

3. חוק איגלסון

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

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

במילים אחרות: אם אתה מסתכל אחורה על פרויקט ישן ואתה לא יכול לראות שום דבר שאתה יכול לשפר או שתעשה אחרת בפעם הבאה, סביר להניח שאתה קפאת על שמחתך כמתכנת.

4. עקרון ההשתוממות הפחות

"אם לתכונה הכרחית יש גורם תדהמה גבוה, יתכן שיהיה צורך לתכנן מחדש את התכונה."

פורסם לראשונה ב- יומן מערכות יבמ עוד בשנת 1984, עיקרון זה עדיין רלוונטי באופן מפתיע כיום - אולי יותר מתמיד.

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

עקרונות התכנות המשונים ביותר שמעולם לא שמעתם על תכנות קפה למחשב נייד

5. חוק אנטומולוגיה קיברנטית

"תמיד יש עוד באג אחד."

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

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

6. חוק קרניגן

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

בריאן קרניגן, אותו אחד שכתב יחד תנ"ך שפת התכנות מדוע עדיין כדאי ללמוד תכנות CC אינה שפה מתה. למעשה, מגזין IEEE Spectrum דירג אותה כשפה מספר 2 בשנת 2017. הנה חמש סיבות לכך. קרא עוד , מפורסם בזכות החוק התובנה הזה. עיקר העניין הוא זה: כתוב טוב קוד, כתוב קריא קוד, כתוב פשוט קוד, כל עוד זה לא נבון קוד.

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

וכמו רוברט סי. מרטין מסביר, זה לא סתם ניפוי באגים:

"אכן, יחס הזמן הקדיש לקריאה לעומת כתיבה הוא מעל 10 ל -1. אנו קוראים כל העת קוד ישן כחלק מהמאמץ לכתוב קוד חדש... [לכן] הקלת הקריאה מקלה על הכתיבה. "

עקרונות התכנות המשונים ביותר שמעולם לא שמעתם על תכנות ברווז גומי

7. ניפוי ברווז גומי

זה לא כל כך עיקרון כמו טכניקה, אבל זה כל כך מועיל ומוזר שנמשיך להיות מחוייב להשאיר אותו בחוץ.

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

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

8. הכלל תשעים ותשעים

"90 האחוזים הראשונים של הקוד מהווים 90 אחוז הראשונים של זמן הפיתוח. 10 האחוזים הנותרים מהקוד מהווים 90 אחוזים אחרים מזמן הפיתוח. "

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

זה הולך יד ביד עם חוק הופשטטר:

"זה תמיד לוקח יותר זמן ממה שאתה מצפה, אפילו כשאתה לוקח בחשבון את חוק הופשטטר."

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

9. חוק פרקינסון

"העבודה מתרחבת כדי למלא את הזמן הזמין להשלמתה."

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

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

10. חוק ברוק

"הוספת כוח אדם לפרויקט תוכנה מאוחר הופכת את זה למועד מאוחר יותר."

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

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

קדימה כמתכנת

עכשיו כשאתה מכיר את העקרונות האלה, אתה באמת מתאים יותר ל עולם אמיתי של תכנות, לא רק מה שנתקלת בבית הספר, בקורס אינטרנט או במחשב אתחול. עקרונות אלה מגיעים משנים ושנים של ניסיון וכישלונות.

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

אילו מהעקרונות האלה מתקשרים אליך באמת? מכירים עקרונות תכנות מוזרים אחרים שפספסנו? ספרו לנו בתגובות למטה!

ג'ואל לי הוא בעל תואר B.S. במדעי המחשב ומעל שש שנות ניסיון בכתיבה מקצועית. הוא העורך הראשי של MakeUseOf.