۷ نکته در کاتلین برای توسعه دهندگان اندروید
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 5 دقیقه

۷ نکته در کاتلین برای توسعه دهندگان اندروید

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

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

ما می‌توانیم برخی از روش‌های Kotlinic (اصطلاحی که از Pythonic الهام گرفته) را برای نوشتن کد کمتری در اندروید استفاده کنیم. پس بیایید شروع کنیم.

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

استفاده از ساختار کنترلی "if not null" برای بررسی null بودن یا نبودن قبل از ادامه کار بسیار مرسوم است. استفاده از تابع let به شما کمک می‌کند تا از منطق‌های پیچیده جلوگیری کنید.

تابع let در کاتلین یک scoping function است به گونه‌ای که اجزاء داخل آن در خارج قابل استفاده نیستند. می‌توان از این روش برای letهای تو در تو و یا زنجیر کردن دسته‌ای از موارد که nullable هستند استفاده کنید. مانند مثال زیر:

استفاده از اپراتور Elvis(?:) در کاتلین به شما کمک می‌کند که مقادیر پیش‌فرض برای اجزائی که nullable هستند ارائه دهید. به عنوان مثال در کد بالا می‌توانید تابع را به این صورت صدا بزنید (doSomething (a  ?:  0، در نتیجه اطمینان حاصل می‌کنید که یک مقدار پیش‌فرض دارد.

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

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

IntArray(10) { 1 }.asList()

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

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

تابع require آرگومان پاس داده شده را اعتبار سنجی می‌کند و اگر نادرست باشد illegalArgumentException را پرتاپ می‌کند.

از طرف دیگر تابع check هنگامی که حالت شئ نادرست باشد illegalStateException را پرتاپ می‌کند.

هر دو تابع زمانی مفید خواهند بود که بخواهید خروج زود هنگام را در کد خود ایجاد کنید.

استفاده از توابع 'apply' و 'with' برای کاهش کدهای تکراری

Apply و With دو تابع scoped مهم هستند که به شما کمک می‌کنند تا هنگام تنظیم خصوصیات شئ ارجاعات صریح بر روی شئ را حذف کنید. به طریقی هر دو تابع به شما امکان می‌دهند که قبل از return شئ آن را تغییر دهید.

تابع apply در هنگام مقداردهی شئ فراخوانی می‌شود، در حالی که تابع with شئ را به عنوان آرگومان پاس می‌دهد.

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

اپراتورهای "groupBy" و "partition" به شما اجازه می‌دهند که لیست‌ها را به راحتی تقسیم کنید

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

از طرف دیگر groupBy، یک map از sublistها به صورت کلید-مقدار برمی‌گرداند. با فراخوانی ویژگی‌های مقادیر در groupBy لیستی از لیست‌ها را دریافت می‌کنید. مثال زیر یک مورد استفاده از هریک را نشان می‌دهد.

دو ویژگی را با یک خط کد تعویض کنید

تعویض دو متغییر از اولین سوالات برنامه‌نویسی است که توسعه دهندگان با آن روبرو هستند. به طور سنتی، شما یک متغییر موقت را برای تعویض ویژگی‌ها تعیین می‌کنید. در حالی که راهی برای از بین بردن آن و کاهش کد به دو خط وجود دارد، با استفاده از a = a-b و b = b-a، می‌توانیم آن را حتی بهتر کنیم.

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

a = b.also { b = a }

Method Refrences را بیش از Lambda Expression در سناریوهای ساده ترجیح دهید

در حالی که استفاده از عبارات lambda در بیشتر موارد خوب است، گاهی اوقات وقتی فقط به یک ویژگی نیاز دارید، استفاده از method refrences روش بسیار بهتری است.

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

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

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
2 از 1 رای

/@pouryasharifi78
پوریا شریفی
توسعه‌دهنده‌ی اندروید

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

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید