Tuesday, June 18, 2013

קוד נקי -Clean Code - והכרות


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

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

לאחרונה נחשפתי לעולם ה-Clean Code קוד קריא ובעיקר נח מאוד לתחזוקה.
פיתוח בשיטה זו הוא חלק חשוב מעולמות
AGILE, ועוד יותר מכך פותר הרבה בעיות של הרחבה (Scale Out) של קוד, כמעט כמטה קסמים – אם שומרים על עקרונות הקוד הנקי.

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

או בצורה קצת יותר גרפית (נלקח מאתר 9gag):

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

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

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