מדוע עיצוב בחוזה אינה פופולרית
Arg. עיצוב לפי חוזה בסביבה כבר זמן רב, אולם זה לא צבר את הפופולריות של פרדיגמות תכנות אחרות. למרות שאני לא לגמרי מבין למה מאז השלמת בדיקות יחידה כל כך טוב ומגדיל איכות תוכנה הכוללת, אני מניח שאני יכול להבין כמה ניחושים.
<<בטרוף
הראשונה היא בגלל חליפות (וזה מה שאנחנו קוראים מאותם טיפוסים וניהול בבלוג הזה [זה לא כולל כמה סוגי וניהול כי אני אוהב]). חליפות לא אוהב DbC. חליפות לא DbC כי זה משהו שדורש השתתפות מעט מאוד על הסיום שלהם, ולכן יש להם תובנה קטנה לתוך התהליך הכולל. מאז חליפות נוטים להיות אלה הם גם אחראים ישירות השבעה הפרויקט, נוטים להיות נותנת החסות לפרויקט הכולל, הם לא אוהדי כאשר הם לא יכולים לקבל תפקיד ישיר בתהליך פיתוח תוכנה. באותם הקווים, חליפות נוטים שלא באים מרקע תכנות עצמם, או יש רקע בתכנות אז fricking המיושן שהוא ישים לחלוטין, ולכן, DbC נוטה לירות מעל לראשיהם. עם חליפות ל, העלות היא המלך, DbC, אם להיות מותאמת, יעלה יותר זמן וכסף. כשאתה אומר חליפות אתה הולך לקחת עשר דקות נוספות כדי לפתח משהו, הנה איך השיחה בדרך כלל ללכת:
המפתחים [] אני הולך לחשוב מחדש על גישת הפיתוח שלי. אני הולך להשתמש בכמה עקרונות DbC כך השיטות שלי יש תנאים מוקדמים ו-התנאים פירסום. זה יקל לכתוב בדיקות יחידה מאז זה יהיה בעצם לבנות לרתום מבחן בשבילי להשתמש.
[החליפה] לא משנה מה. כמה זמן זה ייקח.
המפתחים [] אני יהיה להעריך, אבל לא יותר כמה שעות
(שתיקה, היזם יכול להגיד שזה הולך על כמו נאד בכנסייה)
] [החליפה האם את היישום כרגע עובד?
[מפתח] בטח, אבל זה יגדיל את האמינות של התוכנה, ולכן עשוי להיות חשוב לשקול.
] החליפה [אבל זה עובד עכשיו נכון?
[מפתח] עבודה לא משווים את אמינות או חוסן.
] [החליפה אם זה עובד, אתה צריך להתחיל לעבוד על הדרישה הבאה.
[] מפתח (בידיים מורמות) בסדר!
אז זו הסיבה הראשונה שאני חושב DbC מעולם לא נתפס, אף הוא טבעי בדיוק.
שנית, אני לא חושב שאנשים מוצאים מעניין, ורוב האנשים עושים פיתוח SharePoint פשוט לא אכפת. ללקוחות לא אכפת לי. זה מאותה סיבה אני חושב מיקור חוץ הסיר כך fricking מדהים (זו אמירה רופפת). אנשים מוכנים להקריב את איכות התוכנה עבור זמן וכסף. זה לא כמו מוצרים אחרים שכן זה נדיר כי אדם כי התוכנה מועבר למעשה נראה מתחת למכסה המנוע, ואומרת, "היי, מה !?!?!?". אם זה פועל, זה פועל. אם זה נשבר, נו טוב, למרות שזה עלול לעלות יותר כדי לתקן את הבקשה יותר מאשר זה היה להקדיש זמן נוסף על זה מלכתחילה.
שלישית, אנשים לא מבינים כי אתה יכול לעשות חוזה Driven Design (CDD) עם TDD. אתה יודע, זה אפשרי.
רביעית, אנשים מבלבלים בין בדיקות יחידה עם DbC. הם עשויים להיראות דומים, אבל הם לא אותו דבר. CDD אוטומטית ראשית, מאז נתונים אקראיים יכולים לעבור ישירות והמעשה חוזים כמפורט לרתום את הבדיקה. זה עוזר לך למצוא באגים בתוכנה זה אתה לא יכול אחרת למצוא את הקוד שלך. כדי להאריך גדול, זוגות CDD עם TDD (כמתואר לעיל מקטר) במובן זה כאשר אתה מפעיל בדיקות היחידה שלך על קוד אילוצים החוזה שלך יילקחו בחשבון.
לבסוף, מאז אני עייף לכתוב על זה שרוב הלקוחות יכול לתת חרא על תיעוד API. למה? אני לא יודע, אבל הם באמת לא יכול. DbC כפי שהוא בונה חוזים שלך בתיעוד API (שבדרך כלל מתבצעת באופן אוטומטי) מאוד משפר את הקריאות של הקוד כפי שהוא מסר מן מפתח למפתח.
אוף, אני עושה כותב על זה.
</ בטרוף
2 תגובות »
RSS Feed להערות על זה לכתוב. TrackBack-URL
































וואו. אני חושב שאני עד השיחה הזאת. כן, חליפות = רע.
לפי Chooklay - יוני תגובה 27, 2007 @ 04:25
כן, אתה די לא
תגובה על ידי Buenz אדם - 2 ביולי, 2007 @ 11:57