Кращі методи кодування, поради та багато іншого для Android

Фото Джошуа Ерла на знімку

Я був розробником вже більше двох років, і спосіб мене кодування змінився завдяки навчанню та обміну з іншими. Протягом останніх двох років я бачив тисячі рядків коду, деякі були пристойними, деякі некрасивими та, на щастя, було й мало сексуальних. Якщо ви програміст і можете прочитати такий код, як читання газети, нічого цього не перевершує, навіть гаряча дівчина, яку ви стежите в Instagram. Тож давайте копаємося.

Поради щодо кодування, а не хитрощі

Вкладений Якщо

Я ненавиджу це, я серйозно це роблю, у вас є заяви, які вимагають декількох перевірок, як це нижче коду, і він іде так глибоко дійсно глибоко , У кодуванні, що погано насправді .

if (транспортний засіб! = null) {
       якщо (Vehicle.getCar ()! = null) {
           якщо (Vehicle.getCar (). getModel ()! = null) {
               int ціна = транспортний засіб.getCar (). getModel (). getPrice ();
           }

       }
   }

І річ у тому, що цього можна уникнути, ви цілком можете, як це. Як ви бачите нижче, один є більш зрозумілим та зрозумілим.

if (транспортний засіб == null || Vehicle.getCar () == null || vehicle.getCar (). getModel () == null) повернення;

int ціна = транспортний засіб.getCar (). getModel (). getPrice ();

Оголосити за замовчуванням

Вирішіть і оголосіть за замовчуванням тепер константи, якщо це необхідно для різних примітивних або об'єктів, якими ви зазвичай користуєтеся. Чому? Ось це, наприклад, у вас є змінна ціна (String), для якої ви повертаєте нулевий, порожній рядок та "N / A" в різних місцях. Не робіть цього. Це злочин проти людства ». Просто виберіть улюбленого, оскільки послідовність менше схильна до помилок.

З'єднання рядків у циклі

Річ у тому, що ти, мабуть, уже знаєш деякі з цих речей, бо ти будеш недоброзичливцем, але ти такий нападник, що ти просто залишиш його для майбутнього себе, припускаючи, що він / вона буде більше зловмисника і буде відновлювати його, ігноруючи факт що він / вона може бути лінивою дупою. Сподіваюсь, ви отримаєте точку f *** g .

Ні
for (Назва рядка: імена) {
    ім'я + = ім'я;
}
Так
StringBuilder nameBuilder = новий StringBuilder ();
for (Назва рядка: імена) {
    nameBuilder.append (назва);
}

Іменування

Короткі назви коротких живих змінних, хороші та значущі для довгих живих, оскільки вони будуть довго з вами довго. Вони сімейні.

Наприклад, змінна індекс в циклі для циклу може бути "я", але як змінна класу повинна бути "індекс"

За бажанням

Для Java це, безумовно, найкраще рішення, передбачене помилкою в мільярд доларів, і це може виглядати як дешеве рішення, але вам доведеться його використовувати, якщо вам важко готівкою.

Повернення

Повертайте порожні колекції та списки, куди не зможете повернути нулі, інакше мільярд стане трильйоном або зробіть це, якщо ви є мільйонером .

Пізнавальна складність

Визначення. Це психологічна характеристика чи психологічна змінна, яка вказує на те, наскільки складними чи простими є кадр та сприйняття навичок людини.

При програмуванні методу з вкладеними, якщо інший і більший розмір викликає високу пізнавальну складність, означає меншу зрозумілість . Тож краще розділити великі методи на логічно відокремлені менші та скористатися вище хитрістю Nested If, щоб зменшити її. Також SonarLint інструмент аналізу статичного коду обчислює це для вас в режимі реального часу в студії, ви можете використовувати сонар для того, щоб побачити, як у вас справи?

Лямбда

Потрібно тримати код точним і завиватим {} вільним, оскільки не кожна крива хороша. На щастя, з android gradle> 3.0.0, який вони створили, це підтримка в студії перевірити тут.

Оновлення

Завжди оновлюйте ваші інструменти, навички та свою мову, я маю на увазі свою дитину (переходьте котлін / флеттер / реагуйте / гібридний / рідний… Наші 13 причин, чому !!), це ще станеться.

Google злий, і вони можуть заблокувати ваш ***.

Область

Використовуйте регіони, щоб розділити фрагменти коду у великих класах, як британський діяч з політикою розділення і управління, дуже ефективно запитувати індіанців .

// змістовна назва регіону вашого логічно відокремленого регіону
зробіть тут свою роботу.
// кінцевий регіон

Старт

Створіть метод запуску, щоб запустити активність у самій діяльності, щоб уникнути повторення, тому що хто це любить, а якщо ви вже користуєтеся цим, тоді згрупуйте дані не просто передайте тисячі параметрів, як показано нижче.

загальнодоступний статичний недійсний старт (контекстний контекст, розшарування пакетів) {
    Намірний стартер = новий Намір (контекст, NextActivity.class);
    starter.putExtra (AppConstants.BUNDLE, пакет);
    контекст.стартАктивність (стартер);
}

Максимальні параметри в методі

У функціях заборонено обмежувати жоден параметр, але це не означає, що ви повинні це робити, як і те, що GF не означає, що ви не можете мати інших, але моральних людей. В ідеалі не повинно бути більше 3–4 параметрів, і якщо вам потрібно більше, використовуйте шаблон об’єкта параметрів.

Форматування

Форматування коду є дуже важливим для читабельності, повинно бути вертикальне та горизонтальне обмеження коду, яке ви вводите у свої методи, якщо ви не використовуєте свої методи для вивезення сміття. У студії є вертикальна лінія, яку не слід перетинати або бути готовою до вмирання.

не розтягуйте свою межу.вау, мені це подобається!

Порада

Джон Вудс. Код для читабельності

Деякі хороші статті для моїх людей з Android

Правильний спосіб впровадження екрана Splash

Від Великих борець

Як стати більш продуктивним в Android з плагінами Android Studio

Як зробити ідеального Сінглтона?

Міндорки

Я пишу тут, ви можете нас слідувати, У нас люди навіть кращі за мене.

Інструменти та плагіни

Вам не потрібно все знати, вам дозволено робити помилки, доки хтось не оглядає вас і не скаже вам, що брате НІ !!! Спробуйте скористатися цими інструментами нижче.

SonarLint

Я рекомендую це, я ним користувався, і про це я мав знати від колеги, іноді вони можуть бути корисними, жартуючи. У ньому є кілька найкращих функцій для простого сканування модифікованих класів, і він автоматично критикуватиме ваш неправильний код та те, наскільки ви некрасивими ви можете бути часом. BTW Пізнавальна складність, про яку ми говорили раніше, це допомагає.

FindBug

Це програма, яка використовує статичний аналіз коду для пошуку помилок у коді Java так само, як SonarLint. Щоб дізнатися більше про FindBug, перевірте це. Fellas гортати монету чи що завгодно, але вибрати один із цих інструментів.

Список усіх найкращих і найбільш використовуваних плагінів перевірте нижче

Принципи кодування

Твердий

Це мнемічна абревіатура, яка допомагає визначити п'ять основних об'єктно-орієнтованих принципів дизайну:

  • Принцип єдиної відповідальності
  • Принцип відкритого закриття
  • Принцип заміщення Ліскова
  • Принцип поділу інтерфейсу
  • Принцип інверсії залежності

Для повної перевірки довідки.

Правило скаутів

Визначення: Залиште кемпінг чистіше, ніж ви його знайшли

З чистого коду дядька Боб мені подобається це правило, тому коли я працюю над поганим кодом, я рефактор, очищаю, зменшую і роблю його більш значущим і читабельним, ніж раніше. Завжди стежте за оточенням, оскільки президент занадто зайнятий будівництвом стіни.

Не повторюй себе (DRY)

Ніколи не пишіть один і той же код двічі, щоб це не було вашим правилом, і люди суворо забороняють це у вашому королівстві.

Принцип критики

Гаразд, це повністю складено, але це дуже логічно. Переглядаючи код своїх товаришів по команді, не будьте другом. Будьте їхнім ворогом, не дозволяйте їм робити помилки, які, можливо, вам доведеться чистити колись. Чищення чужих лайнів лише забруднить вашу руку. Закріплюйте передовий досвід у перегляді кодів.

Тут є більше таких порад та найкращих практик, просто натисніть на це посилання, повірте мені, я б не публікував жодної реклами, і ви всі можете робити внесок, пропонувати та редагувати мої помилки. Ви добрі люди. Я буду голосувати за тебе.

Далі буде…

Дякуємо, що прочитали цю статтю. Обов’язково натисніть , щоб рекомендувати цю статтю, якщо ви вважаєте її корисною. Мені це багато значить.

Перегляньте всі основні статті на blog.mindorks.com

Також підключимось у facebook, twitter, github та linkedin.

Поплескуйте, поділіться, якщо вам це подобається, і слідкуйте за мною наступного кроку.