چهار عادت بد در برنامه‌نویسی

هر فردی از یک طریق خاص آموزشی به یک توسعه دهنده و یا برنامه‌نویس تبدیل می‌شود. این خوب است که افراد ترجیح به متدهای مختلف برای یادگیری دارند، اما همچنین ممکن است عادت‌های بدی را برای آنها ایجاد کند که خودشان از آن خبر نداشته باشند.
در این پست بیایید به چهار عادت بد برنامه‌نویسی که باید آنها را از روال کاری خود حذف کنید بپردازیم.

استفاده از کدی بدون درک صحیح از آن

همیشه انجام کارها از ابتدا شاید راه‌کاری سازنده نباشد و برای شما زمان‌بر باشد. گاهی اوقات شما شاید ساعت‌ها زمان بگذارید و آخر با استفاده از کدهایی که در یک انجمن یا فوروم مشاهده می‌کنید بتواند در عرض چند دقیقه (بجای صرف ساعت‌ها وقت) به دست‌آوردی که می‌خواهید برسید. این کاملا بلامانع است ولی این زمانی مشکل‌ساز می‌شود که شما درک درست از استفاده این کد را نداشته باشید. حتی به این نیست که کد استفاده شده عملکرد درستی دارد یا خیر، بلکه می‌تواند مسائل پیچیده‌تری با خود داشته باشد که در ادامه به چندی از این موارد می‌پردازیم.
  • گذاشتن بی‌مورد یک حجم زیادی از کد که باعث Code Bloat می‌شود.
  • نداشتن دقت کافی به صورت مسئله و قرار دادن کدهایی که ناکارآمد هستند.
  • متد مورد استفاده طیف وسیعی از آسیب‌پذیری‌های امنیتی را برای سیستم شما ایجاد می‌کند.

نامگذاری نادرست متغیرها و توابع

تصور کنید که شما یک تابع جاوا اسکریپت برای یک فروشگاه تجارت الکترونیک برای محاسبه مقدار متوسط سفارش مشتری ایجاد می‌کنید. در حالت ایده آل، شما باید آن را به عناون مثال ()calculateAverageOrderValue نام‌گذاری کنید، زیرا این چیزی است که خواننده به طور عام درک می‌کند. فقط یک نگاه باید به آنها اجازه دهد که بداند هدف این تابع چیست؟ اما شما مجبور نیستید اینطور نام‌گذاری کنید و می‌توانید آن را بصورت () function abc بنویسید. اما لازم است بدانید با این فرمت نام‌گذاری، فردی قادر به خواندن و درک کد شما نخواهد بود و همچنین شما اگر بخواهید چند ماه بعد برگردید و آن را مطالعه کنید شاید دیگر برای شما هم قابل فهم نباشد.
برای مشاهده نمونه نام‌گذاری‌های اصولی اینجا را کلیک کنید.

عدم رعایت استانداردهای برنامه‌نویسی

رعایت استانداردهای برنامه‌نویسی برای تجزیه و تحلیل کدهای نوشته شده بسیار حائز اهمیت است. پیروی از استانداردهای کد‌نویسی کار خیلی آسانی هم نیست و گاهی اوقات خیلی خسته کننده می‌شود اما واقعیت امر این است که در پروژه‌های نسبتا بزرگ اعضای تیم نیاز دارند تا از یکسری قوانین تبعیت کنند. توجه داشته باشیم زمانی که یکسری قوانین کدنویسی مثلا تعداد اسپیس‌هایی که می‌بایست در کدها استفاده کرد را وضع می‌کنیم، تمامی اعضای تیم می‌بایست قبول کنند که از آن قوانین تبعیت کنند که در غیر این صورت، یک برنامه‌نویس خاطی می‌تواند هر چه سایر برنامه‌نویسان رشته کرده‌اند را پنبه کند! برای اعمال استانداردهای کدنویسی می‌توان از یکسری ابزارها هم استفاده کرد که فرآیند استاندارد‌سازی را تا حد قابل توجهی برای برنامه‌نویس سهل و آسان می‌سازند که این ابزارها بسته به IDEایی که استفاده می‌کنیم می‌توانند از خصوصیات مختلفی برخوردار باشند. بطور مثال، کدی که در زیر مشاهده می‌کنید بر اساس استانداردی به نام (PSR (PHP Standard Recommendation نوشته شده است:
در واقع در کد بالا پس از namespace و دستورات use یک اینتر قرار گرفته است و یا این که علامت } مرتبط با کلاس Foo در خط بعد نوشته شده است. به عنوان مثالی دیگر، آرگومان‌های متد sampleFunction با یک کاما و اسپیس از یکدیگر مجزا شده‌اند و این در حالی است که کاما به آرگومان اول چسبیده، سپس یک فاصله قرار گرفته و در نهایت آرگومان دوم نوشته شده است.
منبع: سکان آکادمی – https://bit.ly/2EHeYqS

استفاده از کدهای تکراری

در حوزه‌ی توسعه‌ی نرم افزار، اصول و قواعد بسیاری وجود دارد که گاها یکی از دیگری مهم‌تر جلوه می‌کند اما یکی از اساسی‌ترین قواعد برنامه‌نویسی، قانون DRY است که مخفف واژگان Don`t Repeat Yourself به معنی”دوباره کاری نکن” است!
این قانون توسط دو توسعه‌دهنده به نام های Andy Hunt و Dave Thomas ابداع شد که بسیاری از دیزاین پترن‌های معروف برنامه‌نویسی، ریشه در این قانون دارند.
برنامه‌نویسی که بتواند تشخیص دهد کدام بخش‌های کد اصطلاحاً Duplicate یا «مشابه» هستند و تمام تلاش خود را به کار بندد تا با استفاده از کلاس‌ها و فانکشن‌های مختلف، میزان استفاده از کدهای تکراری در سراسر برنامه را به حداقل برساند، در نهایت Source Code تمیز‌تری تحویل خواهد داد که در آینده نگهداری چنین پروژه‌یی به مراتب راحت‌تر از Source Codeای است که پر است از کدهای مشابه!
هرچه میزان کدهای دوپلیکیت در Source Code شما بیشتر باشد، احتمال ایجاد باگ در آینده به مراتب بیشتر خواهد شد؛ علاوه بر این، اگر روزی بخواهید بخشی از کد خود را ریفکتور کنید یا تغییر دهید، به جای یک بخش، می‌بایست چندین بخش را ریفکتور کنید که این کاری بس زمان‌گیر است.
در فرایند توسعه‌ی نرم افزار، بخش‌های بسیاری از کد را می‌توان دید که تکراری هستند و قانون DRY دقیقاً برای چنین موقعیت‌هایی است. شما به عنوان یک توسعه‌دهنده‌ی حرفه‌یی ، همواره باید این ذهنیت را داشته باشید که در نرم افزاری که می‌نویسید، خواه یک اپ موبایل باشد و خواه یک سایت، صرفاً از یک راه باید بتوان کار خاصی را انجام داد و این راه‌کار باید تا حد ممکن ساده، ایمن و اثربخش باشد.
دوپلیکیت شدن در منطق نرم‌افزار می‌تواند به اشکال مختلفی جلوه کند که از جمله‌ی رایج‌ترین آن‌ها می‌توان به آبجکت‌هایی که از روی کلاس خاصی ساخته می‌شوند اشاره کرد و اینجا است که بسیاری از دیزاین‌پترن‌ها به داد توسعه دهندگان می‌آیند. در واقع، ابداع دیزاین‌پترن‌ها یا «الگوهای طراحی» جلوگیری از استفاده از کدهای مشابه است.
منبع: سکان آکادمی – https://bit.ly/2CtVnbR

نتیجه‌گیری

داشتن سبک و استایل خاص خود در برنامه‌نویسی بسیار خوب است ولی همیشه مد نظر داشته باشید که عادتهای بد برنامه‌نویسی را از ذهن خود دور کنید تا بتوانید کدی بنویسید که برای سایر توسعه دهندگان قابل درک و فهم باشد. رعایت اصول برنامه‌نویسی از الزامات کاری شما خواهد بود و این چیزی است که کارفرمایان به دنبال آن هستند.

کتابخانه jQuery چیست و آیا نیاز به یاد گرفتن آن دارید؟

کتابخانه jQuery و ویژگی‌هایی آن

جاوا اسکریپت یک زبان برنامه‌نویسی و پرکاربردی برای توسعه صفحات وب می‌باشد، ولی در عین حال ساختار پیچیده‌ای دارد که استفاده از آن را برای کاربران دشوار می‌سازد. jQuery یک کتابخانه متن باز کوچک، سریع و سبک وزن جاوا اسکریپت است که هدف اصلی آن ساده‌سازی نوشتن اسکریپت‌های سمت کلاینت در HTML می‌باشد. از قابلیت‌های بارز این کتابخانه محبوب می‌توان قابلیت اجرا برروی مرورگرهای مختلف، کنترل آسان و قدرتمند رویدادها (Events)، قابلیت تغییر در خصوصیات CSS، کار با Ajax، توسعه دادن پلاگین‌ها و غیره را نام برد.

بیش از یک دهه به طور گسترده‌ای مورد استفاده قرار گرفته است و شرکت‌های شناخته شده‌ای مانند Kickstarter، Twitter و Hootsuite آن را در برنامه‌های کاربردی خود استفاده کرده‌اند. چه چیز دیگری jQuery می‌تواند انجام دهد و آیا شما باید آن را یاد بگیرید؟

مزایای استفاده از jQuery

برای بسیاری از توسعه دهندگان وب، jQuery اولین کتابخانه‌ای است که آنها آموخته‌اند. jQuery:

  • قابلیت تغییر در ظاهر یک صفحه را امکان‌پذیر می‌سازد.
  • قابلیت افزودن انیمیشن (Fade) به یک صفحه را امکان‌پذیر می‌سازد.
  • دریافت اطلاعات از یک سرور را بدون نیاز به Refresh مجدد صورت می‌دهد.
  • عملکردهای مشترک جاوا اسکریپت را ساده می‌کند. به عنوان مثال مرتب‌سازی و فیلترینگ آرایه‌ها.

معایب استفاده از jQuery

از ایراداتی که در jQuery وجود دارد:

  • این کتابخانه زندگی را برای خیلی از توسعه دهندگان آسان ساخته است اما در 272 کیلو‌بایت، یک کتابخانه بزرگی برای import کردن محسوب می‌شود.
  • این کتابخانه یادگیری جاوا اسکریپت را مشکل می‌سازد برای اینکه abstraction‌های jQuery بخش‌های پیچیده جاوا اسکریپت را مخفی می‌کند.
  • یکی دیگر از ایرادات آن عملکرد در نسخه‌های آن می‌باشد. برخی از نسخه‌ها به خوبی کار می‌کنند و برخی عملکرد درستی ندارند. به همین منظور همیشه سعی کنید از آخرین نسخه jQuery استفاده کنید.

نتیجه‌گیری

درسته که کتابخانه jQuery کدنویسی را نسبت به جاوا اسکریپت ساده‌تر و سریع‌تر ساخته است، اما نمی‌تواند جایگزینی برای زبان جاوا اسکریپت باشد. در کنار جاوا اسکریپت ما به شدت از شما می‌خوایم که jQuery را بیاموزید و به همین دلیل است که خیلی از شرکت‌های معروفی که در بالا نام بردیم از این کتابخانه بهره می‌برند. خیلی از توسعه دهندگان برای نگه‌داری برنامه‌های کاربردی خود به آن نیاز دارند.

اهمیت کار تیمی در هر نوع کسب و کاری

یکی از بزرگترین عوامل تعیین کننده موفقیت کسب و کارها، توانایی عملکرد اعضای آنها به عنوان تیم است. با افزایش رقابت میان کسب و کارها، تشویق روحیه خلاقانه در محل کار برای افزایش تولید و بهره‌وری و ایجاد ارتباطی سالم میان کارکنان، اهمیت خاصی پیدا کرده است.

کار کردن در شرایط گروهی کمک می‌کند که کارکنان سریع‌تر و موثرتر باشند. همکاری تیمی همچنین باعث می‌شود که اعضا مسئولیت پذیرتر باشند و این امر به افزایش انگیزه آن‌ها و بالا رفتن سطح درگیری شغلی کمک می‌کند؛ حتی در تیم‌های مجازی که کارها از راه دور انجام می‌شود.

کار تیمی به معنای کار کردن دو یا چند فرد با یکدیگر به منظور دست یافتن به هدفی مشخص و بر مبنای تفکرات و مهارتهای آنان است. همکاری می‌تواند به صورت سنتی یا مجازی صورت بگیرد. با پیشرفت فناوری، استفاده از برنامه‌های ابری برای به اشتراک گذاشتن فایل‌ها و تعامل میان افراد مورد استفاده قرار می‌گیرد.

چرا کسب و کارها باید همکاری تیمی را تقویت کنند؟

همکاری تیمی به فرد کمک می‌کند که عملکرد خود را مورد تجزیه و تحلیل قرار دهد: کار گروهی فرد را به تفکر وا می‌دارد تا به توانایی‌های خود پی ببرند. این تفکر می‌تواند باعث شود که فرد نقاط قوت و ضعف خود را پیدا کند. جدا از این مسئله، ضرب المثلی فرنگی می‌گوید «همیشه دو فکر بهتر از یک فکر است». به این معنا که خرد جمعی بهتر از تفکر فردی است؛ زیرا تفکر جمعی باعث می‌شود که خلاءهای تفکر فردی پر شوند.

در ادامه به مواردی که اهمیت کار تیمی در کسب و کارها را نشان می‌دهد می‌پردازیم.

همفکری

همکاری تیمی به اعضا امکان می‌دهد تا در بستری مشترک برای رسیدن به یک هدف مشخص تلاش کنند. این تلاش می‌تواند از طریق همفکری، طوفان فکری، و ارائه نقطه نظرهای متفاوت برای حل مسائل باشد. طوفان فکری یا بارش فکری (Brainstorming) یک تکنیک خلاقیت فردی یا گروهی است. در این جلسه که معمولا ۱-۲ ساعت است، اعضا برای رسیدن به یک جمع‌بندی در مورد یک مسئله، تعداد زیادی ایده خام تولید می‌کنند. این ایده‌های خام در ابتدا بدون هیچ قضاوتی تولید شده و فقط بر تخته نوشته می‌شوند. در گام‌های بعد، ایده‌ها فیلتر شده و در هر بازبینی تعدادشان کمتر می‌شود تا به بهترین ایده برسند.

ایجاد ارزش و هدفمندی

کار تیمی به اعضا احساس هدفمند بودن می‌دهد. اعضای تیم کار با یکدیگر را ارزشمند می‌یابند و از آن جا که می‌بینند هدف سایر اعضا نیز با هدف خودشان مشترک است و منافع شرکت و سایر اعضا با منافع خودشان یکسان است، همکاری با آن‌ها را امری ضروری می‌بینند.

سهم برابر برای ابراز نظر

همکاری تیمی به هر یک از اعضا این فرصت را می‌دهد که فرصتی برابر برای ابراز نظر خود داشته باشد. در جمعی سنتی از کارکنان که به صورت فردی کار می‌کنند و یک مدیر کارها را هماهنگ می‌کند، معمولا تصمیم گیری‌ها از بالا به پایین و عمودی است. در این سیستم سلسله مراتبی، کارمندانی که واقعا با کار درگیرند معمولا فرصتی برای ابزار نظر و استفاده از خلاقیت خود نمی‌یابند. اما در همکاری تیمی، از ظرفیت‌های اعضا استفاده بهتری می‌شود.

همکاری تیمی به حل مشکلات کمک می‌کند

وقتی مجموعه متنوعی از مهارتها و دانش جمع شوند، نتیجه‌ای که حاصل می‌شود، دستاورد تجربیات و توانایی‌های متفاوت است. علاوه بر این، همکاری مجازی نیاز به سرمایه و زیرساخت را به حداقل می‌رساند. به لطف اینترنت، کسب و کار شما می‌تواند بازار وسیعتری پیدا کند. همچنین شما می‌توانید شرکت خود را به کمک افرادی از سرتاسر جهان پیش ببرید.

همکاری تیمی تصویر ذهنی بزرگتری از شما ایجاد می‌کند

هیچ انسانی شبیه انسانی دیگر نیست و وقتی چندین نفر با پیشینه‌های ذهنی متفاوت برای شما کار می‌کنند، لازم است بتوانید تفاوتهای آنان را درک کنید و راهی پیدا کنید که به وسیله آن، این افراد نقصهای یکدیگر را رفع کرده، عملکرد هم را تکمیل کنند. حتی در صورتی که پروژه به نتیجه مد نظر شما نرسد، این همکاری‌ها می‌تواند ادامه داشته باشد که خودش سرمایه بزرگی است.

کار گروهی آموزنده است

وقتی کارکنان شما گروهی کار می‌کنند، ناگزیر چیزهایی از یکدیگر می‌آموزند. به این ترتیب، یکی از فرهنگ‌هایی که در شرکت شما رواج پیدا می‌کند، ادامه دادن به یادگیری خواهد بود. کارکنان شما از یادگیری به عنوان فرصتی برای رشد استفاده خواهند کرد. با همکاری کارکنان شما با یکدیگر، ظرفیت آنها برای پذیرفتن مسئولیت جدید بیشتر می‌شود و به این ترتیب این امر باعث پیشرفت آن‌ها خواهد شد.

تجمیع استعداد و توانایی‌ها

وقتی اعضای تیم با یکدیگر همکاری می‌کنند، می‌توانند دانش خود را بهینه کنند و از تجربیات و مهارت‌های همدیگر استفاده کنند. برای مثال، ممکن است یکی از اعضا با «ارائه دادن» و صحبت در جمع مشکل داشته باشد؛ اما از طرف دیگر، تمام دانش فنی مربوطه را داشته باشد. همکاری موثر به اعضا اجازه می‌دهد که استعدادهای خود را به اشتراک بگذارند و بهترین راه را برای حل مسائل پیدا کنند. این امر به شرکت شما کمک خواهد کرد که بهترین نتیجه را در کمترین زمان به دست بیاورید.

بهبود مهارتهای اعضا

همکاری تیمی باعث می‌شود منافع تک تک اعضا و شرکت در یک راستا قرار بگیرد. اعضا با هم کار می‌کنند، تعامل دارند، همفکری می‌کنند و می‌توانند ببینند که سایر اعضا چگونه کار می‌کنند، فکر می‌کنند، مشورت می‌کنند و به نتیجه می‌رسند. این امر به آن‌ها کمک می‌کند تا بتوانند مهارت‌های خود را به کمک مشاهداتی که دارند بهبود دهند و نقاط ضعف خود را رفع کنند. این مهارت‌های تازه در طی همین پروسه می‌تواند تمرین شود و هر چه بیشتر این مشاهدات تکرار شوند، این مهارت عمیق‌تر آموخته می‌شود.

یافتن راهکار در زمان کمتر

کار تیمی سرعت عملکرد را بالا می‌برد. کاری که به صورت انفرادی ممکن است ماه‌ها به درازا بکشد تا به سرانجام برسد، با همفکری و مشارکت چند نفر ممکن است ظرف چند ساعت حل شود. همفکری باعث باز شدن راههایی می‌شود که ممکن است یک فرد به هر دلیلی از وجود آن‌ها بی‌خبر باشد.

موفقیت بیشتر

کار گروهی به کسب و کار شما اجازه می‌دهد که پروژه‌های مهم را در ضرب‌الاجل‌های مشخص به انجام برسانید. وقتی چندین نفر روی یک پروژه کار کنند، آن پروژه می‌تواند به صورت مساوی بین این افراد تقسیم شود تا وظایفشان را در زمان مشخص انجام دهند. این امر به کاهش زمان تحویل پروژه کمک می‌کند. راهکاری به نام «تکه تکه کن و بعد تسخیرش کن» وجود دارد که بر اساس آن باید پروژه به بخش‌های کوچکتری تبدیل شود و میان اعضا تقسیم شود تا پروژه در زمان کوتاه‌تری به مقصود برسد.

افزایش حس رضایت از کار و تمایل به ادامه همکاری

همانطور که پیش از این اشاره کردیم، همکاری تیمی به کارکنان شما ارزش و معنا می‌بخشد. به همین دلیل، آنها نسبت به کارشان احساس بهتری خواهند داشت. احساس خوب کار تیمی هنگامی که نتیجه رضایتبخش است، به اوج خود می‌رسد. وقتی کارکنان می‌بینند که ارتباطی قوی با سایر همکارانشان دارند و عضوی از یک حرکت مهم هستند، تمایل بیشتری به همکاری طولانی‌تر با شما خواهند داشت.

کار تیمی در تیم‌های مجازی (تیم راه دور)

با وجود این که کار تیمی به صورت مجازی نیز از همین اصول پیروی می‌کند، لازم است برخی نکات هم به آن اضافه شود. باید برای تمام اعضا ساعات مشخصی فعالیت را در نظر بگیرید و با استفاده از نرم‌افزارهای خاص، زمان فعالیت آنها را اندازه‌گیری و ثبت کنید تا مطمئن شوید همه اعضا تمام تلاش خود را می‌کنند. برنامه‌های مدیریت پروژه با ابزارها و تکنیک‌های مدیریت تیمی تجهیز شده‌اند و می‌توانند به شما در بهبود همکاری تیمی کمک کنند.

نتیجه گیری

کسب و کارهای در حال پیشرفت متوجه ارزش کار گروهی شده‌اند و در پی راههایی هستند که روحیه کار تیمی را هر چه بیشتر در کالبد شرکت خود وارد کنند؛ چه با استفاده از روشهای سنتی و چه روش‌های متکی بر فناوری‌های جدید. پس اگر دوست دارید که کسب و کار شما هم رونق بگیرد، باید هر چه سریع‌تر همانند این شرکت‌ها به کار گروهی رو بیاورید. راهنمایی‌های این متن می‌تواند به شما کمک کند که درک صحیحی از اهمیت همکاری تیمی داشته باشید تا بتوانید بهترین شیوه برای تشویق کارکنانتان به کار گروهی را پیدا کنید.

منبع: تسکولو – https://bit.ly/2BsBcJA

Create A product first!

Create a product first please!