What-2-Years-of-Android-Development-Have-Taught-Me-the-Hard-Way

آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت اول

این مطلب ترجمه آزادی است از مطلب  Aritra Roy که در وبسایت وی منتشر شده است.

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

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

در این مطلب می‌خواهم الماس‌هایی را که در این دوره جمع‌آوردم با شما به اشتراک بگذارم. این کار می‌تواند به دیگران کمک کند تا سریعتر بتوانند شروع کنند و اشتباهاتی که من مرتکب شدم را تکرار نکنند.

۱- چرخ را دوباره اختراع نکن

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

روی منطق اصلی برنامه تمرکز کن. اگر نیاز داری به فراخوانی اطلاعات از اینترنت، لازم نیست خودت Retrofit را بسازی.

جایزه: Android Arsenal تقریبا فهرست کاملی از همه کتابخانه‌های اندروید دارد. حتما سری به این سایت بزنید.

۲- کتابخانه‌ها را هوشمندانه انتخاب کن

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

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

۳- بنشین و یک فنجان قهوه بخور و کدهای بیشتری را مطالعه کن

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

یکی از خوبی‌های اندروید این است که کدباز است. بپر توی کد و ببین چطور آن را پیاده‌سازی کرده‌اند. هزاران کتابخانه کدباز در گیت‌هاب است. یکی را انتخاب کن و ببین چطور آن را پیاده‌سازی کرده‌اند.

جایزه: اینجا فهرستی مدیریت شده از بهترین کتابخانه‌های اندروید است و اینجا هم فهرستی از تقریبا همه کتابخانه‌های کدباز اندروید. قابلی نداشت!

۴- به خاطر خدا استانداردهای کدنویسی مناسبی را رعایت کن

اگر کدنویسی نوشتن باشد، استانداردهای کدنویسی همان دست‌خط است. همانطور که تو کدهای دیگران را می‌خوانی، دیگران هم کدهای تو را می‌خوانند. دوست نداری که در این مواقع شرمنده بشوی؟ اگر در یک شرکت یا در یک سازمان کار می‌کنی و با توسعه‌دهندگان دیگر کار می‌کنی، مراقب استانداردهای کدنویسی باش.

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

«کد مثل شعر است»

اگر کدی نوشتی و همکارت چند روز با تو حرف نزد اعتراض نکن!

جایزه: برای شروع اینجا و اینجا را بخوانید.

۵- به ProGuard احتیاج داری، واقعا احتیاج داری

هرگر هرگز هرگز برنامه را بدون استفاده از ProGuard در گوگل‌پلی (و کافه‌بازار و سایر بازارهای مشابه) منتشر نکن. پروگارد نه تنها برنامه شما را کوچک‌تر می‌کند، بلکه آن را به هم ریخته (Obfuscate) هم می‌کند که باعث می‌شود فهمیدن،‌ کپی‌کردن و تغییر آن با مهندسی معکوس سخت‌تر شود.

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

نکته: اگر امنیت خیلی خیلی برای برنامه شما حیاتی است می‌توانید با صرف کمی هزینه به جای پروگارد از DexGuard استفاده کنید.

[به علت طولانی بودن مطلب رو  در سه قسمت منتشر می‌کنم. اگر نکاتی به ذهن شما می‌رسد که فکر می‌کنید برای دیگران ممکن است مفید باشد، آن‌ها را برای من و سایر خوانندگان اسمارت‌لب بنویسید]

facebooktwittergoogle_plusredditpinterestlinkedinmailfacebooktwittergoogle_plusredditpinterestlinkedinmail




13 فکر می‌کنند “آنچه بعد از دو سال برنامه‌نویسی اندروید آموختم-قسمت اول

  1. فاطمه

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

    پاسخ
  2. payam

    سلام جناب مهندس بهزادیان نژاد ممنون از سایت خوبتون .
    این مطلب رو خوندم خیلی ضروری و مهمه . بنده همین مساله برام بوجود اومده .
    دیتابیس اپ من برام مهمه و اگ بتونن بیرون بکشن میرن ازش میسازن. حالا من پروگارد کردنو بلد نیسم . آموزشی چیزی هست ک بتونم یادبگیرم ؟ ویدیو و نمونه کد که راحت باشه ..
    ممنون میشم راهنمایی کنین

    پاسخ
      1. payam

        بله ممنون .
        لطفا سورسی ویدیویی یه چیزی که تمام زوایا رو مهندسی کرده باشه و امنیتی خوب باشه .
        ممنون که جواب ما آماتور ها رو میدین .
        سپاس فراوان

        پاسخ
  3. یونس

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

    پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>