ویرگول
ورودثبت نام
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadrچیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadr
خواندن ۳ دقیقه·۷ ماه پیش

چگونه با ۴ اصل ساده، کدنویسی حرفه‌ای را از پروژه‌های کوچک شروع کنیم؟


چگونه با ۴ اصل ساده، کدنویسی حرفه‌ای را از پروژه‌های کوچک شروع کنیم؟

— راهنمایی برای توسعه‌دهندگانی که می‌خواهند به سطح Senior برسند —

وقتی تازه شروع به کدنویسی می‌کنیم، اغلب فکر می‌کنیم «حالا که کار می‌کند، دیگر چه نیازی به تغییر است؟». اما تفاوت یک توسعه‌دهنده معمولی با یک Senior در همین نکات ریز است: نحوه برخورد با مشکلاتی که هنوز به وجود نیامده‌اند!
اخیراً در پروژه‌ای با چالشی در تنظیم خودکار فونت و ارتفاع سطرها در اکسل مواجه شدم. راه‌حل سریع، تنظیم دستی مقادیر بود، اما این سؤال پیش آمد: «اگر کاربری متن طولانی وارد کند یا فونت سیستم تغییر کند، چه می‌شود؟».
در این مسیر، چهار اصل کلیدی یاد گرفتم که می‌خواهم با شما به اشتراک بگذارم:

۱. کدهایتان را مانند «خمیر بازی» انعطاف‌پذیر بسازید

فرض کنید می‌خواهید ارتفاع یک سطر در اکسل را بر اساس محتوای آن تنظیم کنید. راه ساده:


worksheet.Rows[6].Height = 20;

اما این کد شکننده است! اگر متن طولانی‌تر شود یا فونت تغییر کند، کارایی خود را از دست می‌دهد.
راه حرفه‌ای:

  • ارتفاع را بر اساس محتوا محاسبه کنید.
  • از فرمول‌های تطبیقی استفاده کنید (مثلاً تعداد خطوط = طول متن ÷ عرض ستون).
  • واحدها را به درستی تبدیل کنید (پیکسل به نقطه، سانتیمتر به اینچ).


double CalculateDynamicHeight(ExcelRange cell) { return (cell.Text.Length / (columnWidth * 6)) * fontSize * 1.2; }

چرا مهم است؟
این کد مانند یک موجود زنده با داده‌ها سازگار می‌شود. به قول Uncle Bob:

"کد خوب مثل روزنامه خوانا است، نه مثل پازل!"

۲. معماری کد را مانند «شهرسازی» مدیریت کنید

وقتی برای سلول‌های اکسل استایل تنظیم می‌کنید، دو подход وجود دارد:

  • روش مبتدی: استایل هر سلول را جداگانه تغییر دهید.
  • روش حرفه‌ای: یک سیستم متمرکز استایل‌سازی بسازید.


// ایجاد یک استایل پایه برای تمام سلول‌ها var baseStyle = workbook.Styles.CreateNamedStyle(&quotBase&quot); baseStyle.Font.Name = &quotB Nazanin" ... // اعمال استایل پایه worksheet.Cells.StyleName = &quotBase" // بازنویسی فقط برای موارد خاص cell.Style.Font.Bold = true;

تشبیه جالب:
این کار دقیقاً مثل طراحی شهری است که:

  • مقررات کلی دارید (مثلاً ارتفاع ساختمان‌ها).
  • اما برای مناطق خاص (مثل مرکز شهر) استثنا قائل می‌شوید.

۳. به جای «حل مسئله»، «سیستم‌سازی» را یاد بگیرید

در پروژه اکسل، مشکل اصلی این بود:

  • تنظیم دستی فونت/ارتفاع ← خطای انسانی ← نگهداری سخت.

راه‌حل سیستمی:
۱. یک سرویس DynamicRowHeightCalculator بسازید.
۲. یک فکتوری برای ایجاد استایل‌ها طراحی کنید.
۳. از الگوی Observer برای تغییرات خودکار استفاده کنید.

نکته طلایی:

Seniorها به جای نوشتن کد، «چرخ‌ها» را می‌سازند تا مشکلات آینده خودبه‌خود حل شوند!

۴. از «کدهای کارا» به «کدهای الهام‌بخش» ارتقا پیدا کنید

کدی که نوشته‌اید باید سه ویژگی داشته باشد:
۱. خودتوضیحی:

  • به جای var x = 12; بنویسید var defaultFontSize = 12;

۲. تست‌پذیر:

  • محاسبه ارتفاع را در کلاس جداگانه‌ای قرار دهید تا قابل Unit Test باشد.

۳. قابل گسترش:

  • از Dependency Injection استفاده کنید تا اگر روزی خواستید فرمول محاسبه را تغییر دهید، کل سیستم خراب نشود.

جمع‌بندی: مسیر Senior شدن چیست؟

  • مبتدیها: مشکل فعلی را حل می‌کنند.
  • Seniorها: سیستمی می‌سازند که مشکلات آینده را پیش‌بینی می‌کند.
    بار بعدی که کدی نوشتید، از خود بپرسید:
«اگر فردا نیاز به تغییر این بخش باشد، چقدر زمان می‌برد؟»

پاسخ شما به این سؤال، معیار واقعی حرفه‌ای بودن است! 🚀



Chatgpt / Bing Create

unit test
۷
۰
سهراب خان‌بدر | Sohrab Khanbadr
سهراب خان‌بدر | Sohrab Khanbadr
چیزی مثبت بگو، و چیز مثبت خواهی دید." — جیم تامپسون من کیستم ؟ من کجا هستم ؟ من چه میخواهم ؟
شاید از این پست‌ها خوشتان بیاید