מה נמצא על מדף הספרים שלי בהנדסת תוכנה

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

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

זו רשימה של ספרי עיון שאני שומר על מדף הספרים שלי בהנדסת תוכנה. אני מקווה שזה יכול להוות מקור השראה לכל מי שמחפש משהו מעניין לקרוא! ?

מה יש לי על מדף הספרים שלי

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

זה קלאסי.

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

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

קוד נקי: מדריך למלאכת תוכנה זריזה

קראתי את הספר הזה לפני הרבה שנים, אבל הוא דבק בי מאז.

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

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

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

תלמד אותך טוב לטוב !: מדריך למתחילים

זהו ספר על שפת התכנות Haskell, אז למה לקנות אותו ולשמור אותו כהפניה? הסיבות שלי הן:

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

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

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

יש בספר גם ציורים יפים מאוד, כך שאין לך שום תירוץ לא לדפדף בו. ?

תורת הקטגוריות למתכנתים

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

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

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

תכנון יישומים עתירי נתונים: הרעיונות הגדולים שמאחורי מערכות אמינות, ניתנות להרחבה ומתוחזקות

זה האהוב עלי ביותר, אולי בגלל שאני אוהב מערכות מבוזרות! :-D

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

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

שחרר את זה !: תכנן ופרס תוכנה מוכנה לייצור

אני קורא את זה עכשיו.

האם סיימנו לאחר שליחת התוכנה לייצור? לא, זו רק ההתחלה!

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

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

מבוא לאלגוריתמים

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

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

כאשר מתעוררים ספקות, פתח את הספר הזה ותמצא את מה שאתה צריך.

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

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

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

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

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

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

מה אוסיף למדף הספרים שלי

המתכנת הפרגמטי

זהו אחד הספרים המפורסמים ביותר בפיתוח תוכנה.

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

אתה לא יכול לפספס את זה. :-)

רפקטורציה: שיפור עיצוב קוד קיים

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

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

תמיד יהיה מקום על מדף הספרים שלי לספרים שיעזרו לי לכתוב קוד טוב יותר.

סיכום

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

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

נתראה!?