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

نویسنده : سید ایوب کوکبی ۱۰ خرداد ۱۳۹۸
توصیه‌هایی به توسعه‌دهندگان اندروید

اگر می‌خواهید به یک توسعه‌دهندۀ موفق اندروید تبدیل شوید به پیشنهاداتی که در ادامۀ می‌آید عمل کنید:

استاندارد و اصولی کدنویسی کنید

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

  • اضافه کردن فیچرهای جدید مثل قبل ساده نیست؛
  • باگ‌های بیشتری رخ می‌دهد؛
  • سرعت توسعۀ پروژه خیلی پایین می‌آید.

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

کدهای دیگران را بخوانید

در آغاز کدنویسی معمولاً چیزی را می‌نویسید که گمان می‌کنید درست است. ولی در اغلب اوقات کدهایی که می‌نویسید جای بهبود زیادی دارند. پیشنهاد می‌کنیم زمانی را صرفِ بررسی کدهای دیگران کنید؛ باور کنید این یکی از بهترین روش‌های بهبود مهارت‌های برنامه‌نویسی است. تا می‌توانید پروژه‌های متن بازِ خوب بررسی کنید.

کدهایتان را در معرض قضاوت قرار دهید

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

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

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

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

بخوانید  آموزش زبان کاتلین – درس 15 (توابع infix)

بروز باشید

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

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

به کاتلین سوئیچ کنید

کاتلین زبان جدیدِ برنامه‌نویسی اندروید است که گوگل هم به خوبی از آن حمایت می‌کند. صحبت از ویژگی‌های این زبان و مقایسۀ آن با جاوا زیاد است. اینجا فقط به چند مزیت اصلی کاتلین اشاره می‌کنم:

  • ایمن: دیگر خبری از null exceptionها نیست. کاتلین یک زبان امن است؛
  • تمییز: اغلب کدها را خودِ کاتلین برای شما می‌نویسد. کدنویسی در کاتلین نسبت به جاوا واقعاً حجم کمتری دارد. خیلی از کارهای تکراری را دیگر نیازی نیست شما انجام دهید؛
  • وسیع: با این زبان می‌توان علاوه بر اپ‌های اندرویدی و سروری، کدهای فرانت‌اند برای اجرا در مرورگر نوشت؛
  • جابه‌جایی‌پذیر: تقریباً تمام کدهای جاوا را می‌توان به صورت تمام و کمال به این زبان منتقل کرد.

پیشنهاد می‌کنیم راهنمای قدم به قدم کاتلین را مطالعه کنید.

برنامه‌هایتان را آنالیز کنید

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

بخوانید  آشنایی با معماری Clean Architecture در برنامه‌نویسی اندروید

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

ساخت یک برنامۀ بهینه با ساخت یک برنامۀ اندروید کاملاً فرق می‌کند. همه می‌توانند با گذراندن یک دورۀ آموزشی یا خواندن چند کتاب برنامۀ اندروید بسازند ولی کم‌اند افرادی که برنامه‌های بهینه و باکیفیت درست کنند. اگر دقت کرده باشید بخش زیادی از برنامه‌های موجود در مارکت‌های اندرویدی نخاله به حساب می‌آیند ولی همۀ آن‌ها برنامه‌های اندروید هستند!

تفاوت یک برنامه‌نویس مبتدی و متوسط و یک برنامه‌نویس حرفه‌ای سرِ همین موضوع است. بهینه‌سازی برنامه کار دشواری است. متریک‌های زیادی مثل تعداد فریم در ثانیه، میزان مصرف حافظه، مصرف پردازنده، ترافیک شبکه و میزان مصرف دیسک و … مطرح است که برای بهینه‌سازی هر کدام از آن‌ها دنیایی حرف هست.

سرعت Build را افزایش دهید

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

برنامه را فقط برای خودتان درست نکنید

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

از گیت غال نباشید

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

بخوانید  10 ترند برنامه‌نویسی اندروید در سال 2018

ایمنی برنامه‌تان را برقرار کنید

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

عملکرد کتابخانه‌های جانبی را درک کنید

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

باگ‌های برنامه را از بین ببرید

با کمک ابزارهایی مثل Firebase Crashlytics می‌توانید باگ‌های برنامه را به محض وقوع در گوشی کاربران، دریافت کنید. بررسی گزارش‌های رسیده و تلاش برای رفع باگ‌ها سطح مهارت‌های دیباگینگ شما را وارد مرحلۀ جدیدی می‌کند.

خودتان را به مطالعه و پژوهش عادت دهید

سعی کنید با معماری برنامه‌ها در اندروید، کامپوننت‌ها و ارتباطشان با هم، میکروسرویس‌ها و … آشنا شوید. اطلاعات بیشتر دربارۀ سیستم‌عاملی که برایش برنامه می‌سازید قطعاً باعث بهبود کیفیت برنامه‌های شما خواهد شد.

آموزش به دیگران

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

سید ایوب کوکبی

نویسنده و مترجم...

0 دیدگاه

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