3 תגובות

Anti-pattern הוא משהו שנראה כרעיון טוב, אבל הופך לחרב פיפיות כאשר זה מיושם. (ג’ים קופלין)

לצד ערוגת תבניות העיצוב החשובות והטובות, צומחים להם גם עשבים שוטים הידועים בשמם: Anti-Patters.

להלן מצעד עשרת הגדולים (בתרגום חופשי מרחבי הרשת):

1. Fetish (עדיף לא לתרגם…) – משתמש אובססיבי בתבניות עיצוב ללא סיבה אמיתית ובצורה מופרזת. תוכנית Hello World עשויה לכלול – Singelton, Abstract Factory ו Null Object (ליתר ביטחון).

פטיש

2. אולר שוויצרי – מקרה שבו יש יותר אינטרפייסים מאשר קלאסים.

כמו כן כמות האינטרפייסים על כל קלאס יוצרת תחושה חריפה של סחרחורת… ועל זה נאמר: "כל המוסיף – גורע".

אולר

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

אפוקליפסה

4. כדור הבדולח – כמאמר המשורר "הולכים אל הלא נודע – אל הלך תדע". מעוצב על פי כל האופציות העתידיות והלא ידועות, ללא שום הצדקה. מאופיין ביותר מדי הנחות יסוד שאינן מוכרחות או שהעתיד היותר מדי רחוק צופן אותן. למשל: כל ה Base Classes גנריים וכתוצאה מכך אין בין המחלקות היורשות יותר מדי דברים משותפים.

כדור

5. הClass האלוהי – לא, לא קשור לחלקיק האלוהי. קלאס שהוא 'כל יכול'. מאופיין בדרך כלל במספר גדול מאוד של מתודות, חוסר התמחות ספיציפית וחוסר לכידות. ידוע בכינויו – Manager או משהו כזה.

בודהה

6. Object Orgy (גם פה נחסוך את התרגום) – מצב שבו לאובייקטים יש היכרות מעמיקה מדי עם הרכיבים של אובייקטים אחרים. אובייקט לא אמור 'להתעסק' עם פרמטרים של אובייקט אחר.

בלגן

7. מזנון נתונים (בופה) – מאופיין באובייקטים המכילים יותר מדי מידע, ובכך שכל האובייקטים היורשים מורשים לגשת לכל המידע.

בופה

8. הכל טוב – זהו Pattern הופכי ל"אפוקליפסה עכשיו" . עיצוב תוכנה שאינו לוקח בחשבון בעיות ("לי זה לא יקרה"). אין ולידציות, אין בדיקת נתונים וכו', אין טיפול בחריגים. ללא שום תכנות הגנתי.

noevil

9. אובייקט פיקטיבי – למעשה זהו קלאס שנראה יותר כמו NameSpace. הוא מכיל המון מתודות סטטיות, וכל מתודה ניראת כמו API. מזכיר תכנות פרוצדורלי.

הורד

10. המוטציה – אובייקט המכיל מתודות מאוד ארוכות (כלל אצבע – לא לעבור את גודל המסך). במצב זה קשה ליצור שינויים ללא פגיעה בפונקציונליות. מוטציה נוצרת בדרך כלל על ידי יותר מדי 'העתק-הדבק', ומכונה פעמים רבות בשם 'קוד ספגטי'.

מפלצת

הוסף תגובה " class="ir icon-in">linkedin twitter email