חווית משתמש - Team System Architect
(מצטער מראש על שגיאות הכתיב אם יימצאו, אחרי טקסט כזה ארוך לא ממש התחשק לי לעבוד ולעשות הגהה). אני לא יודע מי מכם עובד בעיצוב (ארכיט') בדוט-נט, ומי מבין הנ"ל ניסה לעבוד עם ה-team architect שמגיע עם ה-VS 2005, אבל חשבתי לשתף אתכם במה שעברתי ביומיים האחרונים כשניסיתי להשתמש בכלי. קצת הקדמה - לפני העבודה הנוכחית, עבדתי במקום בו עבדו עם VS2003 וכלי CASE של ראשיונל - גם Rose לתקופה מסוימת וגם XDE, כך שיצא לי לעבוד עם כלים שמשולבים בתוך סביבת הפיתוח. לעומת זאת, בעבודה הנוכחית אין שימוש בכלי CASE (מהסיבה הפשוטה - הם עולים כסף !!), אז עובדים עם מה שיש ומתלוננים עד כמה שאפשר. ול"חוויה" - השבוע, אחרי פרמוט והתקנה מחדש של ה-VS (מה לעשות, המחשב עד כה קרטע ואפילו לא הצליח ליצור class diagram), אמרתי לעצמי "עידו, צריך לעצב עכשיו רכיב חדש במערכת, בוא נבדוק איך זה לעבוד עם ה-team architect" (אני נוטה לדבר עם עצמי מדי פעם). זוועה !! ולא אכפת לי כמה עובדי מיקרוסופט יקפצו עכשיו ויאמרו שזה כלי אחלה והשקיעו בו המון מחשבה וזמן - זה פשוט זוועה !!! - ה-class diagram זה לא יותר מויזואליות של הקוד שלך (למי שלא מאמין, שיסתכל דרך notepad בקובץ ה-CD שנוצר) - כל דבר שעושים ב-CD מתעדכן אוטומטית בקוד, כולל שינוי שמות של מתודות שגורם ל-refactoring "און דה פליי" (מה שגורם כמובן שכל שינוי שם של מתודה מבזבז בערך 10 שניות מחייך). יש כאלו שיגידו - סבבה, מה רע בכלי שמסונכרן עם הקוד ?! זה לא נוח !! נוח לי שיש סביבת מידול שיודעת "לג'נרט" קוד (ויודעת להסתנכרן ממנו בחזרה), נוח לי שהתוכניתן שלי עובד על הקוד של המחלקה (כשהיא ב-check out אצלו) ובינתיים אני עובד על המודל ומעדכן אותו, כך שברגע שהוא יעשה check-in אני אוכל לסנכרן את התוספות שלי עם הקוד שלו (אבל זה לא אפשרי, מאחר ועד שאני לא מסיים לקבוע את ה-CD, קובץ הקוד חייב להיות אצלי ב-check out) - אני לא יודע כמה מכם נוהגים לעשות את הדבר הבא, אבל לי זה מאוד נוח שאחרי (ולפעמים תוך כדי) בניית המחלקות, אני בונה Sequence diagram בשביל להמחיש את הקריאות בין המחלקות. אז בואו נוותר על הרעיון של חילול קוד שמבצע את הקריאה (לא מצאתי אף כלי שמחולל קוד מ-SD), אבל לפחות שתהיה אפשרות ל-sequence ! אז מה מיקרוסופט אומרים - מצטערים, אנחנו מספקים רק CD. אתה רוצה SD ? לך לעבוד בויזיו. מעולה אמרתי ! ויזיו זה של מיקרוסופט, יצאה גרסה מיוחדת שלו יחד עם ה-VS2005 (גרסת architect) אז כנראה שניהם יודעים לעבוד ביחד. גורנישט !! פוקרף אין משמש (או איך שלא אומרים את זה) ! הדבר היחיד שה-VS יודע לעשות זה לייצא SLN לויזיו ותו לאו ! אין סנכרון אחורה-קדימה (מה שנקרא - נגעת נסעת), במקסימום מקבלים חילול קוד - רק תסבירו לי מה טוב חילול קוד אם אח"כ צריך לעשות copy&paste ידני של הקוד שנוצר לתוך ה-VS, תוך התאמת הקטע המועתק לקטעים שכבר קיימים בקוד - בזמן הזה הייתי יכול כבר לכתוב את זה בעצמי (תאמינו לי שאני מקליד מהר, תשאלו את התוכניתנים שלי אם אתם לא מאמינים). - קטע נוסף של ה-VISIO (באדיבות התוכניתן שלי שכל הכבוד לו שהוא מצליח לעבוד עם הכלי הזה בלי לזרוק את המקלדת מחוץ לחלון) - הויזיו מתיימר "לדעת" #C בכך שהוא מאפשר להגדיר ב-CD משתנים מטיפוסי #C, אך עליה וקוץ בה - הוא נותן רק primitive type. אתם רוצים משתנה מסוג DateTime ? DataSet ? תצטרכו להגדיר כזו מחלקה בעצמכם ! אז כן, אם עושים Reverse engineering מהקוד, הוא מזהה את הטיפוסים הללו בשימוש בקוד ויוצר אותם לבד (כולל ה-inerface הנחוץ), אבל אם אני עכשיו רוצה להגדיר משתנה מטיפוס שלא היה לי עד עכשיו ? מ ע צ ב ן !! אז בקיצור - אני מתוסכל ובשלב זה אני מעדיף נייר ועט (והרבה התבכיינות לראש פרויקט שלי בתקווה שאולי מישהו "למעלה" ישמע אותי ויתחיל להשקיע קצת בכלי CASE). אם למישהו מכם היה נסיון עם הכלים האלו והוא רוצה לשתף אותנו, אני אשמח לשמוע עוד קולות חוץ משלי (תמיד נחמד שיש עוד מישהו מתוסכל בשביל שלא להרגיש לבד). ואם מישהו מ-IBM שומע אותי - Team architect זוועה !! בבקשה תוציאו XDE שעובד ב-2005, תאמינו לי שאנשים יקנו, יש שוק לזה, רק תעשו את הצעד הראשון. אני מבטיח שאני אהיה בין הראשונים להוריד את ה-trial version
(מצטער מראש על שגיאות הכתיב אם יימצאו, אחרי טקסט כזה ארוך לא ממש התחשק לי לעבוד ולעשות הגהה). אני לא יודע מי מכם עובד בעיצוב (ארכיט') בדוט-נט, ומי מבין הנ"ל ניסה לעבוד עם ה-team architect שמגיע עם ה-VS 2005, אבל חשבתי לשתף אתכם במה שעברתי ביומיים האחרונים כשניסיתי להשתמש בכלי. קצת הקדמה - לפני העבודה הנוכחית, עבדתי במקום בו עבדו עם VS2003 וכלי CASE של ראשיונל - גם Rose לתקופה מסוימת וגם XDE, כך שיצא לי לעבוד עם כלים שמשולבים בתוך סביבת הפיתוח. לעומת זאת, בעבודה הנוכחית אין שימוש בכלי CASE (מהסיבה הפשוטה - הם עולים כסף !!), אז עובדים עם מה שיש ומתלוננים עד כמה שאפשר. ול"חוויה" - השבוע, אחרי פרמוט והתקנה מחדש של ה-VS (מה לעשות, המחשב עד כה קרטע ואפילו לא הצליח ליצור class diagram), אמרתי לעצמי "עידו, צריך לעצב עכשיו רכיב חדש במערכת, בוא נבדוק איך זה לעבוד עם ה-team architect" (אני נוטה לדבר עם עצמי מדי פעם). זוועה !! ולא אכפת לי כמה עובדי מיקרוסופט יקפצו עכשיו ויאמרו שזה כלי אחלה והשקיעו בו המון מחשבה וזמן - זה פשוט זוועה !!! - ה-class diagram זה לא יותר מויזואליות של הקוד שלך (למי שלא מאמין, שיסתכל דרך notepad בקובץ ה-CD שנוצר) - כל דבר שעושים ב-CD מתעדכן אוטומטית בקוד, כולל שינוי שמות של מתודות שגורם ל-refactoring "און דה פליי" (מה שגורם כמובן שכל שינוי שם של מתודה מבזבז בערך 10 שניות מחייך). יש כאלו שיגידו - סבבה, מה רע בכלי שמסונכרן עם הקוד ?! זה לא נוח !! נוח לי שיש סביבת מידול שיודעת "לג'נרט" קוד (ויודעת להסתנכרן ממנו בחזרה), נוח לי שהתוכניתן שלי עובד על הקוד של המחלקה (כשהיא ב-check out אצלו) ובינתיים אני עובד על המודל ומעדכן אותו, כך שברגע שהוא יעשה check-in אני אוכל לסנכרן את התוספות שלי עם הקוד שלו (אבל זה לא אפשרי, מאחר ועד שאני לא מסיים לקבוע את ה-CD, קובץ הקוד חייב להיות אצלי ב-check out) - אני לא יודע כמה מכם נוהגים לעשות את הדבר הבא, אבל לי זה מאוד נוח שאחרי (ולפעמים תוך כדי) בניית המחלקות, אני בונה Sequence diagram בשביל להמחיש את הקריאות בין המחלקות. אז בואו נוותר על הרעיון של חילול קוד שמבצע את הקריאה (לא מצאתי אף כלי שמחולל קוד מ-SD), אבל לפחות שתהיה אפשרות ל-sequence ! אז מה מיקרוסופט אומרים - מצטערים, אנחנו מספקים רק CD. אתה רוצה SD ? לך לעבוד בויזיו. מעולה אמרתי ! ויזיו זה של מיקרוסופט, יצאה גרסה מיוחדת שלו יחד עם ה-VS2005 (גרסת architect) אז כנראה שניהם יודעים לעבוד ביחד. גורנישט !! פוקרף אין משמש (או איך שלא אומרים את זה) ! הדבר היחיד שה-VS יודע לעשות זה לייצא SLN לויזיו ותו לאו ! אין סנכרון אחורה-קדימה (מה שנקרא - נגעת נסעת), במקסימום מקבלים חילול קוד - רק תסבירו לי מה טוב חילול קוד אם אח"כ צריך לעשות copy&paste ידני של הקוד שנוצר לתוך ה-VS, תוך התאמת הקטע המועתק לקטעים שכבר קיימים בקוד - בזמן הזה הייתי יכול כבר לכתוב את זה בעצמי (תאמינו לי שאני מקליד מהר, תשאלו את התוכניתנים שלי אם אתם לא מאמינים). - קטע נוסף של ה-VISIO (באדיבות התוכניתן שלי שכל הכבוד לו שהוא מצליח לעבוד עם הכלי הזה בלי לזרוק את המקלדת מחוץ לחלון) - הויזיו מתיימר "לדעת" #C בכך שהוא מאפשר להגדיר ב-CD משתנים מטיפוסי #C, אך עליה וקוץ בה - הוא נותן רק primitive type. אתם רוצים משתנה מסוג DateTime ? DataSet ? תצטרכו להגדיר כזו מחלקה בעצמכם ! אז כן, אם עושים Reverse engineering מהקוד, הוא מזהה את הטיפוסים הללו בשימוש בקוד ויוצר אותם לבד (כולל ה-inerface הנחוץ), אבל אם אני עכשיו רוצה להגדיר משתנה מטיפוס שלא היה לי עד עכשיו ? מ ע צ ב ן !! אז בקיצור - אני מתוסכל ובשלב זה אני מעדיף נייר ועט (והרבה התבכיינות לראש פרויקט שלי בתקווה שאולי מישהו "למעלה" ישמע אותי ויתחיל להשקיע קצת בכלי CASE). אם למישהו מכם היה נסיון עם הכלים האלו והוא רוצה לשתף אותנו, אני אשמח לשמוע עוד קולות חוץ משלי (תמיד נחמד שיש עוד מישהו מתוסכל בשביל שלא להרגיש לבד). ואם מישהו מ-IBM שומע אותי - Team architect זוועה !! בבקשה תוציאו XDE שעובד ב-2005, תאמינו לי שאנשים יקנו, יש שוק לזה, רק תעשו את הצעד הראשון. אני מבטיח שאני אהיה בין הראשונים להוריד את ה-trial version