جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02188945907
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > 7 نکته مفید کاتلین، برای برنامه نویسان اندروید

7 نکته مفید کاتلین، برای برنامه نویسان اندروید

1399-07-28
ارسال شده توسط آموزنگار
اندروید
نکات مفید کاتلین

معرفی زبان برنامه نویسی کاتلین باعث شد کدها کمتر و سریعتر اجرا شوند و کار برنامه نویسان راحت تر شود. در سال 2017 کاتلین به صورت رسمی در کنفرانس I/O گوگل به عنوان دومین زبان رسمی برای برنامه نویسی معرفی شد و گوگل پشتیبانی خود را از این زبان اعلام کرد.

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

کاتلین نیز مانند جاوا شیء گرا است و روی JVM (ماشین مجازی جاوا) به سادگی کار می کند. این زبان شباهت زیادی به ساختار جاوا دارد ولی نسبت به آن کد کمتر و ساده تری دارد به طوریکه می توان از برنامه نویسی با کاتلین لذت برد.

استفاده از تابع let برای Nullable

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

تابع let به عنوان scope function (توابع قلمرو) تعریف می شود به این معنی که متغیرهایی که در داخل آن متد تعریف می شود در بیرون از آن تابع قابل استفاده نیستند. استفاده از scope function ها باعث خوانایی بیشتر کدها می شود شاید در کدهای کم حجم متوجه این موضوع نشوید ولی در کدهای زیاد این خوانایی خیلی به چشم می آید. این توابع شامل let,run,with,apply و also هستند. همچنین شما می توانید از let ها به صورت تودرتو یا زنجیر کردن دسته ای از موارد nullable نیز استفاده کنید توجه کنید که بیرونی ترین مقدار در let برگشت داده می شود.

به مثال زیر توجه کنید:

عملگر ELVIS به شکل:? است که برای مقادیر Null استفاده می شود تا در صورت تهی بودن مقدار برنامه کرش نکند. در نمونه کد بالا می توانیم تابع را به صورت doSomething(a ?: 0) فراخوانی کنیم، در این صورت مطمئن می شویم که a یک مقدار پیش فرض دارد.

Nullable در کاتلین

ایجاد لیست تنها با یک خط کد در کاتلین

در زبان کاتلین ایجاد یک لیست با مقادیر پیش فرض کاملاً ساده است. کد زیر را ببینید در این کد یک آرایه صحیح با 10 آیتم ایجاد شده است که هر عنصر آن با عدد 1 مقداردهی شده است.

IntArray(10) { 1 }.asList()

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

لیست ها در کاتلین

استفاده از تابع های require و check برای خروج سریع از دستورات شرطی

تابع require پارامتر ارسالی را اعتبارسنجی می کند و در صورت false بودن IllegalArgumentException را صادر می کند. از طرف دیگر تابع check هنگامی که حالت شیء false باشد IllegalArgumentException را صادر می کند.

نصب و راه اندازی React Native در ویندوز
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

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

دستورات شرطی کاتلین

استفاده از توابع apply و with برای جلوگیری از کد تکراری

توابع apply و with از توابع scope هستند و کارایی شبیه به هم دارند. در این توابع می توان از کلمه کلیدی this به context متصل شد به این معنی که اجزای شیء در دسترس ما هستند حتی می توان کلمه کلیدی this را نیز حذف کرد. مقدار بازگشتی در apply به context شیء مربوط می شود. در این دو تابع می توان ارجاع به شیء را حذف کرد تا کار ساده تر شود. تابع apply همان شیء را برمی گرداند و در هنگام مقداردهی شیء فراخوانی می شود ولی تابع with را زمانی استفاده می کنیم که شیء از نوع non-nullable باشد و ما شیء را به عنوان آرگومان ارسال می کنیم.

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

استفاده از توابع apply و with

 استفاده از اپراتورهای partition و groupBy برای تقسیم بندی لیست ها

Partition به شما اجازه می دهد یک لیست را به دو زیرلیست (sublist) تقسیم کنید به طوریکه قسمت اول آن شامل عناصری باشد که شرط خاصی را اجرا می کند و مابقی آن داخل زیر لیست دوم قرار داشته باشد.

از طرف دیگر groupBy یک map از زیرلیست ها را به صورت جفت های key-value برمی گرداند و با فراخوانی ویژگی value روی groupBy می توانید لیستی تشکیل شده از سایر لیست ها را دریافت کنید.

تصویر زیر نمونه کدی از هر دو نوع را نمایش می دهد.

 استفاده از اپراتورهای partition و groupBy

 تغییر دو ویژگی با یک خط کد

یکی از سؤالاتی که برنامه نویسان با آن روبرو می شوند تعویض دو متغیر با هم است. به طور معمول شما برای تعویض مقدار دو متغیر از یک متغیر کمکی استفاده می کنید. ما می توانیم به صورت a=a-b و b=b-a کد را کاهش دهیم و حتی می توانیم این کد را کمتر هم کنیم.

Coroutine Scope در کاتلین | Coroutine Context
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

با استفاده از ویژگی تعویض دو ویژگی با یک خط کد می توانیم با یک خط کد در کاتلین این کار را انجام دهیم. به کد زیر توجه کنید:

a = b.also { b = a }

ترجیح دادن متدهای مرجع (Method References) پیش از بیان Lambda Expressions برای سناریوهای ساده

lambda در کاتلین

لامبدا (Lambda) در کاتلین به یک تابع بی نام گفته می شود. در زبان کاتلین اگر لامبدا تنها یک پارامتر داشته باشد دیگر لزومی برای تعریف دقیق نوع پارامتر نیست و می توانیم از کلمه کلیدی it استفاده کنیم که این مورد یک پیشنهاد خوب برای کد نویسی است.

با استفاده از method reference می‌توان یک متد را با استفاده از نام آن فراخوانی کرد یا یک متد را به عنوان یک متغیر به متد دیگر ارسال نمود. Member reference ها با:: مشخص می شوند. در سمت چپ کلاس یا شیء نوشته می شود و در سمت راست آن ویژگی آن نوشته می شود. در زیر نمونه کدی قرار دارد که به شما نشان می دهد چطور استفاده از Member reference ها بجای lambda expression ها باعث کوتاه و آسان تر شدن کد می شود.

سخن آخر

امیدواریم ترفندهای ذکر شده در این مقاله برای شما مفید باشد و شما را در برنامه نویسی با زبان کاتلین موفق تر کند.

قبلی توسعه دهندگان چگونه از برنامه های رایگان موبایل کسب درآمد می کنند؟
بعدی برای اندروید یا IOS اپلیکیشن بسازیم؟

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

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

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

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

021-88945907

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10994
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط   
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-88945907
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com