10 نکته برای جاوا اسکریپت لذت بخش تر

کدنویسی میتواند یکی از ارزشمندترین و خلاقانهترین تلاشها باشد، اما بیایید صادق باشیم، همچنین میتواند گاهی اوقات طاقتفرسا، بیانگیزهکننده یا حتی کاملاً خستهکننده باشد. در طول سالها، من شخصاً با کسالت، کار بیش از حد و سوراخ خرگوش کمال گرایی دست و پنجه نرم کرده ام. چه در حال کار بر روی یک پروژه جانبی، همکاری با یک تیم، یا مقابله با چالش های حرفه ای باشید، این نکات برای کمک به مدیریت پذیرتر، سازنده تر و مهمتر از همه سرگرم کننده کدنویسی طراحی شده اند. در حالی که من از جاوا اسکریپت به عنوان لنز برای این ایده ها استفاده می کنم، آنها به طور جهانی قابل اجرا هستند.
0. پروژه ها را به کوچکترین موارد ممکن تقسیم کنید
با تجزیه پروژه خود به قطعات کوچک و قابل دستیابی شروع کنید. حداقل محدوده مطلق را برای هر قابل تحویل تعریف کنید و فقط روی موردی که در حال انجام است تمرکز کنید. این رویکرد نه تنها باعث میشود که چیزها احساس طاقتفرسا نکنند، بلکه به شما امکان میدهد پیروزیهای کوچک را در طول مسیر جشن بگیرید و همچنین بینشهایی را از کاربران نهایی یا ذینفعان دریافت کنید.
1. ابتدا انواع را بنویسید
اگر از TypeScript یا ابزاری مشابه استفاده می کنید، ابتدا تعریف انواع خود می تواند به عنوان یک نقشه راه برای کد شما باشد. حتی در جاوا اسکریپت ساده، ترسیم ساختارهای داده یا رابطهای قبلی میتواند بعداً در زمان زیادی صرفهجویی کند. علاوه بر این، این انواع را می توان برای تولید داده های ساختگی برای تست ها، داستان های کتاب داستان یا مستقیماً در حالی که سایر بخش های سیستم در حال توسعه هستند، استفاده کرد.
کسانی که ترجیح می دهند از جاوا اسکریپت خام به جای تایپ اسکریپت استفاده کنند، همچنان می توانند انواع را در JSDoc بنویسند:
/**
* @typedef {Object} Task
* @property {string} id - The unique identifier for the task.
* @property {string} title - The title of the task.
* @property {string} description - A detailed description of the task.
* @property {boolean} isCompleted - Indicates whether the task is completed.
*/
/**
* Adds a task to the task list.
*
* @param {Task} task - The task to be added.
* @returns {boolean} - Returns true if the task was added successfully.
*/
function addTask(task) {
// logic to add the task
console.log('Task added:', task);
return true;
}
2. از عناوین تست به عنوان لیست کارهایی که باید انجام دهید استفاده کنید
توسعه تست محور (TDD) فقط به کیفیت نیست. همچنین یک تقویت کننده بهره وری است. عناوین آزمون تشریحی را بنویسید که به عنوان یک چک لیست برای پیاده سازی شما عمل می کند – این مانند ایجاد لیست کارهای خود در جریان کار است. به عنوان مثال:
// File: user.test.js
describe('User Management', () => {
it.todo('should create a new user');
it.todo('should fetch a user by ID');
it.todo('should update user details');
it.todo('should delete a user');
});
این رویکرد شما را سازماندهی میکند و در عین حال یک طرح کلی واضح از آنچه باید انجام شود ارائه میکند.
3. اول کاری را انجام دهید که بیشترین ارزش را دارد
با ویژگی یا وظیفه ای شروع کنید که بیشترین تأثیر را دارد. این اولویتبندی میتواند به شما انرژی بخشد و شتاب ایجاد کند، به خصوص زمانی که سهامداران یا هم تیمیها فوراً از پیشرفت قابل مشاهده بهره میبرند.
به عنوان مثال، اگر ویژگی اصلی برنامه شما پردازش ویدیو است، ابتدا باید روی آن تمرکز کنید. مدیریت کاربران را می توان در مرحله بعد اضافه کرد و تا آن زمان می توان از وب سایت با یک تأیید اولیه محافظت کرد.
4. ساده ترین کدی را که فکر می کنید بنویسید
همیشه ساده ترین کدی را بنویسید که آنچه را که باید انجام می دهد و نه بیشتر. کد باید تغییر کند و طبیعتاً با تکامل نیازمندیها پیچیدهتر میشود. تلاش برای اینکه آن را هوشمندانه یا پیچیده جلوه دهید در ابتدا اغلب نتیجه معکوس دارد. کد هوشمند بسیار ساده است – اشکال زدایی، بررسی و تطبیق آن در طول زمان آسان تر است.
5. با ابزارها، کتابخانه ها و چارچوب ها دقیق باشید
هنگام انتخاب وابستگی های خارجی، تجربه توسعه دهنده، تناسب پروژه و کیفیت را بر محبوبیت اولویت دهید. آیا جوک ریشو را شنیده اید node_modules
سنگین ترین جسم در جهان هستی؟ نه تنها سنگین است. انطباق یا اصلاح کدهای خارجی اغلب چالش برانگیز است، بنابراین بررسی دقیق و آزمایش ابزارها بسیار مهم است. اگر قابل اعتمادتر باشد یا برای پروژه شما مناسب تر باشد، نوشتن پیاده سازی خود کاملاً خوب است. در عین حال، از استفاده از ابزارها و کتابخانه های خارجی در صورت سود واقعی نترسید. فقط اطمینان حاصل کنید که پروژه شما آنقدر به آنها وابسته نیست که باز کردن آنها بعداً به “بازسازی ناپالم” در مقیاس کامل نیاز داشته باشد.
6. از تعهدات برای مستندسازی تصمیمات خود استفاده کنید
تعهدات git خود را به عنوان دفترچه گزارش سفر خود در نظر بگیرید. هر commit باید نه تنها تغییرات کد بلکه استدلال پشت آنها را نیز ثبت کند. این امر اشکال زدایی و همکاری در آینده را بسیار آسان تر می کند. برای حفظ یک تاریخچه تعهدی منسجم و توصیفی، تعهدات متعارف را در نظر بگیرید. به عنوان مثال، پیشوندهای مانند feat:
، fix:
، یا chore:
کمک به روشن شدن هدف هر تغییر و بهبود خوانایی.
7. Refactor As You Go
همه بازسازی ها را برای پایان ذخیره نکنید. بهبودهای کوچک و تدریجی در حین اجرا کمتر ترسناک هستند و به حفظ یک پایگاه کد با کیفیت بالا کمک می کنند. به عنوان یک قانون سرانگشتی، اگر میتوانید همین الان بدون تأثیر زیاد بر روی کار فعلیتان، آن را بازسازی کنید، این کار را انجام دهید. در غیر این صورت، یک را ترک کنید // TODO:
نظر بدهید، یک کار ایجاد کنید، یا راههای دیگری بیابید تا اطمینان حاصل کنید که وقتی زمان اجازه میدهد به آن بازمیگردید.
8. به طور منظم کد خود را بازبینی کنید
قبل از اینکه کد خود را انجام دهید، یک قدم به عقب بردارید و کد خود را بخوانید و نقد کنید. این عادت ناسازگاریها را پیدا میکند و کار شما را بهبود میبخشد—مثل تصحیح یک مقاله است. ساده ترین راه برای انجام این کار این است که پیش نویس Pull Request را بلافاصله پس از اولین commit باز کنید.
9. زود و اغلب بازخورد بخواهید
منتظر نمانید تا کارتان «انجام شود» تا دیگران را درگیر کنید. برنامه نویسی جفتی یک راه عالی برای دریافت بازخورد فوری و به اشتراک گذاری دانش است، اما حتی بررسی زودهنگام یک همکار می تواند باعث صرفه جویی در زمان و بهبود کیفیت شود.
و در نهایت، مهم ترین نکته ای که باید در نظر داشته باشید این است که اشکالی ندارد که یک کد کامل یا فرآیند کامل نداشته باشید. نوشتن تست بعد از چند کد یا حتی بعد از آن کاملاً خوب است. از دست دادن یک باگ گاه به گاه طبیعی است. همه چیز مجاز است تا زمانی که کدها و خلاقیتهای شما با گذشت زمان بهتر میشوند و از آن لذت میبرید: در نهایت، برنامهنویسی باید به اندازه راهحلهایی که با آن ایجاد میکنید مفید باشد!
کدام یک از این نکات برای شما واضح بود؟ کدام یک را روشنتر دیدید؟ آیا نکاتی وجود دارد که بخواهید به اشتراک بگذارید؟ در نظرات به من اطلاع دهید.
پیش نویس این مقاله و تصویر جلد با کمک هوش مصنوعی ایجاد شده است