שאלה... עקרונית משהו

littlerunaway

New member
שאלה... עקרונית משהו

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

user32

Well-known member
מנהל
ככה עובדים

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

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

littlerunaway

New member
הבנתי, תודה

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

liron50

New member
זה אמור להיות ככה

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

choo

Active member
בשנים הראשונות, מה שטוב לחברה - פחות טוב לעובד

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