רברס עם פלטפורמה
רברס עם פלטפורמה
Ran Tavory && Ori Lahav
437 Refactoring (and Observability) with Omer van Kloeten
1 seconds Posted Mar 22, 2022 at 9:07 pm.
0:00
0:01
Download MP3
Show notes
[קישור לקובץ mp3]בפרק זה אנחנו מארחים למחרת יום הפאי את עומר ון קלוטן לשיחה על Refactoring ו-Observability .(רן) ולפני - בוא נכיר אותך, עומר - ספר לנו קצת על עצמך(עומר) אז אני עומר, כיום עובד ב-Forter, משהו כמו 21 שנים בתעשייה.בהתחלה בצבא - ואז ערימה של של סטארטאפים בכל מיני שלבים, מגוון של תפקידים, גם בחברות גדולות . . .תפקידי פיתוח, הובלת פיתוח, ניהול בכמה פעמיםבמקרה גם כמה פעמים Product, לא בכוונה . . . .  אבל היה מצויין וכיף.אני מחשיב את עצמי כ”ג’ינרליסט” - מאוד נהנה מהכל, כי הכל מסקרן והכל כיף, אז למה לא?(רן) הזכרת שהיית פעם Product - אז אני לא יודע אם יצא לך לראות, אבל רץ ברשת סוג של סרטון שבו רואים את איש ה-Product, כשיש לו איזשהו סיוט או מחשבה על “רק שהמפתחים לא יעשו Refactoring” . . . . זה הסיוט של כל איש מוצר, כשהמפתח אומר “רגע-רגע-רגע - אני צריך לעשות Refactoring!” . . . .אז על זה באנו לדבר היום.(עומר) כן, באנו לדבר היום על הפוסט-טראומה של אנשי ה-Product וה-Refactoring . . . .(רן) אז מפתח מדופלם, בוא נתחיל בזה - קם בבוקר, מסתכל על הקוד ואומר “משהו פה לא נראה לי . . . . משהו פה מסריח - אני חייב לעשות לו Refactoring” . . . .(עומר) כן, כולנו היינו בסיטואציה הזאת, וזה פשוט “נראה נכון” - יש  את ההרגשה הזאת בבטן, יש את הקטע של “אני חייב לשנות את זה - כי זה לא *נכון*” . . . (רן) “הכימוס אינו נכון” . . . . (Encapsulation)(עומר) וואו, כמה זמן עבר מאז ששמעתי את זה בעברית . . . (רן) חיכיתי עד שאוכל לשלוף את המילה הזאת . . . .(עומר) אז אני חושב שאתה צודק - אנשי ה-Product, אנשים שהיו מספיק זמן ב-Product, נמצאים באיזושהי פוסט-טראומה כזאת, של “רק שאנשי הפיתוח לא יבואו ויגידו לי “אני חייב לעשות Refactoring בקוד” . . . .כי בתכל’ס - מה הם מקבלים מזה? הם מקבלים יותר Delays בזמן של המוצר . . . .(רן) אז בוא נלך רגע ונעשה איזשהו מסע בזמן . . . . צריך להגיד, קודם כל, שאנחנו מדברים כאן בשיחה הזאת בעקבות איזשהו בלוג-פוסט שכתבת, ונשים אליו לינק [הנה], ששם אתה שוטח את התיאוריה - הקצרה, אני חייב להגיד, אבל עניינית.בוא לרגע ניזכר באיך היה כשהיינו מפתחים צעירים - הסתכלנו על קוד ואמרנו “רגע, זה עובד - אל תיגע בו!” . . .  אל תיגע בכלום, זה עובד! ועכשיו מתחילים . . .(עומר) אז אנחנו מתחילים מהנקודה של “גרמתי לדבר לקרות” - שזה נהדראוקיי - יש את הטקסט שמופיע על המסך וזה עובד.זה ממורכז בצורה הנכונה ובצבע הנכון - לא נוגעים!יש איזשהם תנאים - צריך לשים את זה במקום מאוד מסויים, בחדר מוגן מרוחות וזה - שלא יזוז יותר מדי המחשב, אחרת זה לא יעבוד יותר.אבל אחרי זה, ככל שאנחנו יותר, עם הזמן,  עסוקים עם קוד ורואים Code-bases שונים, אנחנו מתחילים לפתח יותר תחושה לגבי מה זה “קוד טוב” או יותר נכון - מה נראה כמו קוד שאנחנו מכירים אותו ומרגישים איתו בנוחיש את ה-Pattern-ים שם, שאנחנו מרגישים איתם בנוחשמענו ממישהו שעבדנו איתו שאם כותבים משהו פעמיים, אז צריך להוציא את זה לפונקציה משותפת וזה נשמע לנו ממש הגיוני לא לכתוב את אותו הדבר פעמיים, כי אז  יש לנו פעמיים את אותם באגים . . . אוקיי, אז נעשה את זה . . . .ואז אנחנו יותר ויותר מפתחים את האינסטינקטים האלה של מה שנראה לי “קוד טוב”.ואז[!] הגעתי לנקודה ש”אוקיי, הקוד הזה הוא כבר זוועה . . . .” - הוספנו עוד פיצ’רים ועוד פיצ’רים ועוד פיצ’רים, ואני חייב עכשיו לעצור הכל, לשמוט את הכל מהידיים ולהגיד לאנשי ה-Product “עכשיו חייבים לעשות Refactoring!”.(רן) אז בוא שנייה נעשה פסיכואנליזה של הסיפור הזה, ברשותך . . .  בעצם פיתחנו פה איזשהו Skill טכני, נכון? פיתחנו Skill טכני של להסתכל על הקוד ולהגיד מה אפשר לתקן בו או מה לא טוב בו - ואנחנו יודעים לעשות גם את זה: הזכרת Design Patterns והזכרת  . . . . לא הזכרת כימוס אבל אני הזכרתי . . . . הזכרת Usability והזכרת מודולריות וכל זה - יש לנו את היכולת הטכנית לעשות את זה.עכשיו - כל דבר נראה לנו כמו מסמר . . . יש לנו פטיש ביד, וכל דבר נראית לנו כמו מסמר . . . רק רציתי להציג את הבעיה.(אורי) אני חושב שחוץ מכלי - יש לנו כלי נוסף ביד, או Skill טכני - יש גם תחושות, זה הרי הכל מתחיל מתחושה. פעם קראתי איזשהו Post על איך מודדים Tech-Debt - סובייקטיבי לגמרי . . . .(רן) מדד ה-WTF-per-Minute, כמובן  . . . . (אורי) כן, פשוט שאל את המפתח מה הוא חושב על הקוד שלו . . . Over-time, זה כנראה יגיע לרמות שבהן אתה תגיד …