بسیاری از شرکتها به دنبال فراگیری دانش جدید هستند، که این امر باعث میشود همه به دنبال برنامهنویسان بااستعداد بروند. شما ممکن است یک برنامهنویس حرفهای نباشید، اما کافی است تا اصول برنامهنویسی را مطالعه کنید. هر شغل مرتبط با فناوریی که در آینده خواهید یافت نیاز به دانش کدنویسی دارد. از این مقاله برای درک اصول برنامهنویسی استفاده کنید حتی اگر در حوزه فناوری کار نمیکنید.
1. در یک زمان یک کار انجام دهید
اگر شما در حال تلاش برای یادگیری یک چیز جدید هستید، یا اگر پروژهای دارید که نیاز دارید تا بدانید چطور چند کار را با هم انجام دهید، توصیه میکنیم که یک کار مشخص را انتخاب کرده و آن را به پایان برسانید. در برنامهنویسی با توجه به کارهایی که باید انجام دهید، مفاهیم زیادی را در ذهن خواهید داشت، و در این شرایط بهتر است روی یک چیز تمرکز کنید و آن را به اتمام برسانید. در برنامهنویسی راههای بسیاری برای از عهده برآمدن یک مساله خاص وجود دارد، و این بستگی به راهحل انتخابی شما دارد. مثلا اگر شما نیاز به ایجاد یک وبسایت مدیریت محتوا (CMS) داشته باشید که محتوا را در اختیار کاربران مختلفی قرار میدهد، میتوانید سایتی درست کنید که دارای یک اپلیکیشن بزرگ بوده و هر کاربر یک دامنه خاص داشته باشد. هر رویکردی که انتخاب میکنید دارای معایب و مزایایی است و شما باید انتخاب عاقلانهای را انجام دهید. به همین دلیل برنامهنویسی یک هنر است زیرا شما دو یا چند گزینه را باید بررسی کرده و بهترین مورد را انتخاب کنید.
2. افراد مختلف موارد مختلف را ساده میبینند
افرادی هستند که فکر میکنند برنامهنویسی سیستم عامل نسبت به برنامهنویسی وب آسانتر است. استدلال این افراد این است که چنین برنامههایی فقط نیاز به نوشتن کد اسمبلی برای یک رایانه واحد دارد، و همانطور که آنها میخواهند، در تمام رایانهها کار میکند. از سوی دیگر توسعهدهندگان وب باید قبل از ارسال برنامه در شبکه خود، زبان نشانهگذاری، زبان مربوط به استایلها (style sheet) و زبان برنامهنویسی را درک کنند. برنامه باید روی رایانههای مختلف که از سیستم عاملهای مختلفی استفاده میکنند اجرا شود، و این کار آسانی نیست. از آنجا که همه ما دارای نقاط قوت و ضعف مختلفی هستیم، مهم است که به مبتدیان بگوییم برنامهنویسی صرفنظر از پیچیدگیهایش کاری شدنی است.
3. قراردادهای نامگذاری مهم است
اگر شما شروع به یادگیری زبانهای توسعه وب کنید، سخت است تا تمام قراردادهای نامگذاری که در زبانهای مختلف وجود دارد را درک کنید. وقتی توسعهدهندگان با بهترین شیوهها برای قراردادهای نامگذاری موافق نیستند، این مساله بیشتر پیچیده میشود. مثلا هنگامی که شما قبل از یک متد یا متغیر یک آندرلاین قرار میدهید، این یک قرارداد نامگذاری است که به توسعهدهنده تذکر میدهد که متد/متغیر/ویژگی protection یا private است و امکان دسترسی به آن در خارج از کلاس وجود ندارد. بسیاری از برنامهنویسان جدید کدهایی که قابل خواندن هستند را سخت میکنند. قراردادهای نامگذاری باید به شما جهت نوشتن سریع کدهای خوانا کمک کند.
4. درک و دنبال کردن استانداردهای کدنویسی برای شرکت شما
شرکتهای مختلف استانداردهای کدنویسی متفاوتی دارند و مهم است که بدانید استاندارد شرکت شما چیست. وقتی شما با یک روش انتزاعی، بدون توجه به دستورالعملهایی که از استاد یا شرکت خود دریافت میکنید، کار میکنید، کدنویسی سخت میشود.
5. شما هرگز نمیتوانید کدنویسی را کامل کنید
مساله ای در مورد مهندسی وجود دارد و این است که بین یک ماشین مسابقه و یک وسیله حمل و نقل تفاوت وجود دارد. چیزهایی هست که میتوانید در یک ماشین مسابقه قرار دهید و نمیتوانید آنها را در یک وسیله نقلیه جادهای بگذارید و بالعکس. مهم است بدانید کدنویسی را از کجا شروع کنید و متوجه خواهید شد که 80% کدها به صورت کامل به خوبی انجام شده است. 20% دیگری که انجام نمیشود نشان میدهد که برنامهنویسی شما در حد پایینی است. شما مسئول هستید تا هر چیزی را درست کنید، بر انجام بهترین کارها تمرکز کنید و باگها را اصلاح کنید و مطمئن شوید که برنامه به خوبی اجرا میشود.
6. از گوگل استفاده کنید
بیشتر برنامهنویسان علاقه خاصی به گوگل دارند. قدرت گوگل را دست کم نگیرید، حتی اگر مبتدی هستید. به عنوان یک برنامهنویس، گوگل بخشی از کار شماست و بهتر است که نحوه سرچ کردن را به خوبی بیاموزید و بدانید که چگونه به دنبال هر آنچه که میخواهید بگردید.
7. اصول اولیه بسیاری از زبانها را بیاموزید
اگر نیاز دارید یک توسعهدهنده نرمافزار جامع شوید، ضروری است که مبانی اولیه زبانهای مختلف برنامهنویسی را درک کنید. اصول برنامهنویسی عبارتند از الگوریتمها، ساختار دادهها و پارادایمهای مختلف برنامهنویسی، مثل refactor کردن، کدنویسی تمیز و برنامهنویسی شیءگرا.
8. با دیگران همکاری کنید
اگر با افراد دیگر صحبت کنید و در ارتباط باشید و ببینید که آنها چگونه کارشان را انجام میدهند، میتوانید خیلی چیزها بیاموزید. اگر یاد بگیرید دیگران چطور چالشهای برنامهنویسی خود را حل میکنند، به کار خود اطمینان پیدا میکنید. بررسی کار دیگران بهتر است چرا که دو ذهن بهتر از یک ذهن است.
9. کمک بخواهید
برنامهنویسی یک فعالیت اجتماعی است و شما باید آن را بپذیرید. امروزه اگر برنامهنویسان با افرادی که در حوزه خاصی تخصص دارند سر و کار نداشته باشند، نمیتوانند برنامهنویسان خوبی باشند. از شخصی در مورد مشکلی که در یک زبان مشخص دارید سوال بپرسید، کسی که در آن زمینه به خوبی عمل میکند و میتواند شما را راهنمایی کند.
10. فناوری همیشه در حال تغییر است
فناوری هرگز ثابت نیست و شما باید همیشه خودتان را به روز نگه دارید. تمام زبانهای برنامهنویسی یک روزی منسوخ خواهند شد، و اگر شما به زبان خاصی برای کدنویسی متکی باشید، شما نیز منسوخ خواهید شد. زبانهای برنامهنویسی ساختاری درختی دارند و مشابه هم هستند. شما میتوانید زبانی را یاد بگیرید که شبیه زبانی باشد که هماکنون در حال استفاده از آن هستید. مثلا Ruby و پایتون مشابه هستند، بنابراین یادگیری هر یک از آنها آسان است. با این حال نمیتوانید از یک زبان شیءگرا مثل Ruby به یک زبان برنامهنویسی statically-typed مثل Haskell سوئیچ کنید. این امر بسیار چالشبرانگیز است. اگر میخواهید یک زبان جدید را به راحتی بیاموزید، بهتر است که برای آن زبان یک پروژه داشته باشید.
11. راهحلهای نامحدود
راهحلهای زیادی برای حل یک مساله برنامهنویسی وجود دارد. اجازه ندهید این مساله باعث شود که از هر راهحلی استفاده کنید. ابتدا به سراغ آنچه که میدانید بروید، و بعدا بهترین راه حل را انتخاب کرده و آن را بسازید.
12. ممکن است برنامهنویسان بارها و بارها شکست بخورند
اگر کدنویسی را شروع کردید و در تمام بخشهای کد خود خطوط قرمز را مشاهده کردید، به این معناست که شما جایی اشتباه کردهاید. اما کدنویسی را متوقف نکنید. اگر دنیایی را تصور میکنید که فاقد باگ است، برنامهنویسی برای شما آزاردهنده خواهد بود! حتی زمانی که خطاهای زیادی دارید کدنویسی را رها نکنید و به حل مشکلات ادامه دهید.
13. در حل مساله مهارت داشته باشید
شما باید درک کنید که برنامهنویسان در حل مسائل از برنامهنویسی کامپیوتری استفاده میکنند. اگر مساله خاصی را حل کنید، مهارتهای خود را تقویت کردهاید. شما فرآیند فکری خود را فقط با کد ابراز میکنید.
14. در مورد نرمافزارها و سیستمهای موجود کنجکاو باشید
اگرچه شما مبتدی هستید، خوب است در مورد هر آنچه اطرافتان اتفاق میافتد کنجکاو باشید. همانطور که پیشرفت میکنید، در مورد ابزارها، کدبیسها، فریمورکهای مختلف سوال بپرسید. این کار به شما کمک میکند آنچه که برنامهنویسان دیگر انجام میدهند را درک کنید.
15. اگر در انجمن شرکت نکردید حس بدی نداشته باشید
انجمنهای بسیاری وجود دارد که شما میتوانید راهنماییهایی در رابطه با برنامهنویسی را از آنجا دریافت کنید یا در مورد مسائل مربوط به یک پروژه خاص در این انجمنها به گفتگو بپردازید. هر چه بیشتر در این انجمنها شرکت کنید، سادهتر میتوانید پروژه خود را به اتمام برسانید. با این حال، اگر نتوانستید در آنها مشارکت کنید نگران نباشید. به طور پیشفرض این کار برای مبتدیان مشکل است زیرا آنها دوست دارند عقب بنشینند و منتظر اعضایی که از قبل هستند باشند.
16. کد را مستندسازی کنید (self-document)
در بخشهایی که لازم است کامنت بگذارید و توضیح دهید که چرا چنین کار خاصی را در آن بخش انجام دادهاید. این کار به افرادی که در آینده روی آن کار میکنند کمک خواهد کرد، زیرا همه نمیدانند چرا شما شیوه خاصی را در بخشی اعمال کردهاید. از کامنتنویسی در بخشهای واضح کد دست بکشید، چرا که توضیحات غیرضروری را ایجاد میکند.
اگر برنامهنویسی برای شما جدید است، آن را با ذهنی باز شروع کنید، زیرا این کار یک ماجراجویی مهیج است. هر چیزی که در ابتدا دشوار و وحشتناک است، به زودی آسان و آشنا میشود. اگرچه در بعضی لحظات ناامید میشوید، مطمئن باشید که فقط شما اینگونه نیستید! مصمم باشید، مهارتهای خود را بسازید، و به زودی بهترین برنامهنویس خواهید شد.
نظرات کاربران در رابطه با این دوره