SmartNews خطوط کد را 20٪ کاهش می دهد و روحیه تیم را با Kotlin بهبود می بخشد
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.

SmartNews به میلیون ها نفر کمک می کند تا با به اشتراک گذاری اخبار به موقع از مجموعه متنوعی از منابع خبری، دنیای خود را هر روز کشف کنند. این شرکت در سال 2012 در ژاپن تاسیس شد و اکنون بیش از 50 میلیون دانلود در سراسر جهان دارد.
در ژوئن 2019، تیم ابتدا شاهد حرکت توسعه اندروید به سمت کاتلین بودند و تصمیم گرفتند خودشان آزمایش کاتلین را آغاز کنند. آنها میخواستند از کتابخانههای Jetpack-First Kotlin بهره ببرند، مقدار کدی را که باید حفظ میکردند کاهش دهند و از نحو رسا و قابل درک کاتلین بهرهمند شوند.
کاری که آنها انجام دادند
تیم SmartNews به خوبی به جاوا مسلط است، بنابراین شروع نوشتن در Kotlin برای آنها نسبتاً آسان بود. از آنجایی که Kotlin 100٪ با جاوا قابل همکاری است، آنها می توانند به راحتی شروع به نوشتن ویژگی های جدید مانند Weather Radar و News From All Sides در Kotlin کنند، در حالی که در پایگاه کد موجود خود کار می کنند. آنها برای مدیریت بارگیری و ذخیره سازی تصویر در ویژگی ثبت شده Weather Radar از برنامه های مشترک استفاده کردند. توزیع کنندگان Coroutine یک انتزاع مفید برای مدیریت وظایف ارائه می دهند، و این به مهندسان SmartNews کمک کرد تا از مشکلات ناشی از مدیریت رشته های خام جلوگیری کنند.
این تیم همچنین برخی از کدهای جاوا خود را بازسازی کردند و تحت تاثیر ویژگی های ایمنی پوچ کاتلین قرار گرفتند. نحو کاتلین برای شناسایی تغییرپذیری، پوچپذیری و مقداردهی اولیه به تیم کمک کرد تا خطاها را در مراحل اولیه تشخیص دهد و مدت زمان بررسی تغییرات کد را تا 10% کاهش داد . با استفاده از نحو موجز و کارآمد کاتلین، آنها همچنین توانستند خوانایی پایگاه کد خود را افزایش دهند، که حفظ کد آنها را با ادامه رشد شرکت آسانتر کرده است.
نتایج
نوشتن در Kotlin بهره وری کلی آنها را از زمان اجرا تا راه اندازی بهبود بخشیده است. بزرگترین پیشرفت آنها این بود که نوشتن در Kotlin خطوط کد تبدیل شده آنها را 20٪ کاهش داد . تقریباً نیمی از برنامه SmartNews در حال حاضر در Kotlin است و تیم توسعه قصد دارد تمام ویژگیهای جدید را در Kotlin بنویسد و همچنین برخی از کدهای موجود خود را مجدداً تنظیم کند تا به افزایش قابلیت نگهداری کد ادامه دهد.
همانطور که تیم توسعه در حال پیاده سازی Kotlin و کاهش کد دیگ بخار بودند، متوجه افزایش روحیه تیم شدند. تیم هیجان زده بود که بتواند ایده های خود را به روشی کارآمدتر بیان کند و کد آنها برای آینده خواناتر باشد. هیدئو اوهاشی، مدیر مهندسی SmartNews متوجه شد که کاتلین به تلاشهای استخدام مهندسی آنها کمک کرده است . متداول ترین سؤالات نامزدها این است که آیا از کاتلین استفاده می کنید؟ چند بار از آن استفاده می کنید؟ به نظر می رسد اکنون بسیاری از مهندسان علاقه مند به مهاجرت به کاتلین هستند و می خواهند از آن حمایت کنند. در حالی که این پیشرفتها در روحیه تیم و استخدام دلایل اصلی انتخاب تیم کاتلین نبودند، این تغییرات مثبت به شرکت در ادامه رشد در این صنعت رقابتی کمک میکند.
شروع کنید
درباره توسعه برنامه Android با Kotlin بیشتر بیاموزید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2021-01-06 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2021-01-06 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# SmartNews reduces lines of code by 20% and improves team morale with Kotlin\n\n[SmartNews](https://play.google.com/store/apps/details?id=jp.gocro.smartnews.android)\nhelps millions of people discover their world everyday by sharing timely news\nfrom a diverse set of news sources. The company was founded in 2012 in Japan,\nand it now has over 50 million downloads globally.\n\nIn June 2019, the team saw Android development moving towards Kotlin first and\ndecided to start testing Kotlin themselves. They wanted to take advantage of\nKotlin-first Jetpack libraries, reduce the amount of code they had to maintain,\nand benefit from Kotlin's expressive and easy-to-understand syntax.\n\nWhat they did\n-------------\n\nThe team at SmartNews is well versed in Java, so it was fairly easy for them to\nstart writing in Kotlin. As Kotlin is 100% interoperable with Java, they could\neasily start writing new features such as\n[Weather Radar and News From All Sides](https://about.smartnews.com/en/2020/09/17/20200917/)\nin Kotlin, while working in their existing codebase. They used coroutines to\nmanage image downloading and caching within the patented Weather Radar feature.\nCoroutine dispatchers provide a useful abstraction for managing tasks, and this\nhelped the SmartNews engineers avoid the pitfalls that come from managing raw\nthreads.\n\nThe team also refactored some of their Java code, and was impressed with\nKotlin's null safety features. Kotlin's syntax for identifying mutability,\nnullability, and initialization helped the team catch errors early on,\nand **reduced the amount of time to review code changes by 10%**.\nUsing Kotlin's succinct and efficient syntax, they were also able to increase\nthe readability of their codebase, which has made their code easier to maintain\nas the company continues to grow.\n\nResults\n-------\n\nWriting in Kotlin has **improved their overall productivity from\nimplementation to launch** . The biggest improvement they saw was that\nwriting in Kotlin **reduced their converted lines of code by 20%**.\nApproximately half of the SmartNews app is currently in Kotlin, and the\ndevelopment team plans on writing all new features in Kotlin as well as\nrefactoring some of their existing code in order to continue increasing their\ncode maintainability.\n\nAs the development team was implementing Kotlin and reducing boilerplate code,\nthey noticed an **increase in team morale** . The team was excited\nto be able to express their ideas in a more efficient way, and have their code\nbe more readable for the future. Hideo Ohashi, the Engineering Manager for\nSmartNews noticed **Kotlin has helped their engineering recruiting\nefforts** . *\"The most frequent questions from candidates are 'are you\nusing Kotlin? How often do you use it?' It seems now that many engineers are\ninterested in migrating to Kotlin and want to support it.\"* While these\nimprovements in team morale and recruitment were not the main reasons the team\nadopted Kotlin, these positive changes will help the company as it continues to\ngrow in this competitive industry.\n\nGet started\n-----------\n\nLearn more about [developing an Android app with Kotlin](/kotlin)."]]