اگر به یک سری از کتابخانهها دقت کنید، تمام کلاسهای آنها دارای یک پیشوند تکراری هستند؛ مثلا
SmurfXMLDataRow،
SmurfXMLElement و الی آخر در مورد تمام کلاسهای موجود در پروژه. به این رویه «
Smurf Naming Convention» گفته میشود!
در این نوع کتابخانهها زمانیکه کاربری بر روی دکمهای کلیک میکند،
SmurfAccountView اطلاعات
SmurfAccountDTO را به
SmurfAccountController منتقل میکند. در ادامه از خاصیت
SmurfID دریافتی، مقدار
SmurfOrderHistory دریافت شده و به
SmurfHistoryReportingView جهت نمایش ارسال خواهد شد. اگر استثنای
SmurfErrorEvent رخ دهد، توسط
SmurfErrorLogger در فایلی به نام log/
smurf/
smurflog.log ثبت خواهد شد.
کلمه
Smurf هم از شخصیتی کارتونی به همین نام اخذ شده است که در زبان مخصوص آنها اکثر افعال و نامها از کلمه Smurf مشتق میشود! برای مثال در مورد ماهیگیری کردن در یک رودخانه عنوان میکنند «We're going
smurfing on the River
Smurf today».
خوب، چکار باید کرد؟ روش صحیح معرفی نام یک شرکت در حین طراحی و نامگذاری کلاسهای یک کتابخانه چیست؟
در مطلب بسیار جامع و عالی «
اصول و قراردادهای نامگذاری در داتنت»
عنوان شده است که اساس نامگذاری فضاهای نام باید از قاعده زیر پیروی کند:
<Company>.<Technology|Produt|Project>[.<Feature>][.<SubNamespace>]
مثلا مایکروسافت یکبار فضای نام Microsoft.Reporting.WebForms
را تعریف کرده است و ... همین! دیگر به ابتدای هر کلاسی در این کتابخانه، پیشوند Microsoft
یا MS و امثال آن اضافه نشده است تا بر روی اعصاب و روان استفاده کننده تاثیر منفی داشته باشد.