Ідіоми ПРОГРАМУВАННЯ У JAVA ДЛЯ ANDROID

&nbsp

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

Безпека типів в Java

Основною метою при проектуванні Java було створення мови, який забезпечив би безпечне програмування «Пространено» і негнучкість Java, якої не таврував тільки самий ледачий і яка дійсно відсутня в таких мовах, як Python, Ruby і Objective-C, потрібна для того, щоб компілятор міг гарантувати: під час виконання не можуть виникати цілі класи помилок

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

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

Незалежно від того, яка з цих точок зору вам ближче, цілком очевидно, що доступні інструменти потрібно використовувати з максимальною ефективністю Статичний звязування, що застосовується в Java, поза всяким сумнівом, обмежує можливості розробника З іншого боку, Java – це дуже хороший мову зі статичним звязуванням, хоча з динамікою у Java і правда неважливо Насправді в Java можна виконувати і по-справжньому динамічні операції, використовуючи містяться в цій мові API рефлексії та інтроспекції, а також активно вдаючись до приведення типів Але якщо працювати таким чином, то за винятком рідкісних випадків мова і середовище часу виконання будуть використовуватися для досягнення суперечать один одному цілей Ваша програма, ймовірно, буде працювати дуже повільно, і тулчейн Android (набір інструментів для компіляції) може абсолютно не розібратися у вашому коді Найважливіше зауваження полягає, мабуть, у тому, що, якщо в цій рідко використовуваної частини платформи знайдуться помилки (баги), ви дізнаєтеся про них в числі перших Радимо примиритися зі статичною природою Java (принаймні, поки не зявиться хорошою динамічної альтернативи) і повною мірою скористатися перевагами цього мови

Інкапсуляція

Розробники часто обмежують видимість членів обєкта з метою створення інкапсуляції Сенс інкапсуляції полягає в тому, що обєкт ні в якому разі не повинен повідомляти про себе такі деталі, підтримка яких у ньому не передбачена Повертаючись до нашого прикладу з мохіто, нагадуємо, що вас зовсім не хвилює, як колега дістав потрібну вам мяту Але, припустимо, ви йому говорите: «А чи не міг би ти нарвати в саду ще мяти І, раз вже ти там будеш, полів заодно рожевий кущ » Отже, ми вже не можемо сказати, що вас не хвилює, звідки колега бере мяту Тепер вас цікавить, як саме він її видобуває

Аналогічно інтерфейс обєкта (коротко званий API) складається з методів і типів, доступних для викликає коду Акуратно застосовуючи инкапсуляцию, розробник приховує деталі реалізації обєкта від того коду, який використовує цей обєкт Такий контроль і захист дозволяють створювати програми, які відрізняються значною гнучкістю і дозволяють розробнику обєкта з часом змінювати реалізацію обєкта, не викликаючи при цьому «ефекту ряби» (як від камінчика, кинутого у воду) в зухвалій коді

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


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

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*