Programming Kotlin Applications. Бретт Мак-Лахлин
Чтение книги онлайн.

Читать онлайн книгу Programming Kotlin Applications - Бретт Мак-Лахлин страница 24

Название: Programming Kotlin Applications

Автор: Бретт Мак-Лахлин

Издательство: John Wiley & Sons Limited

Жанр: Программы

Серия:

isbn: 9781119696216

isbn:

СКАЧАТЬ language gets affected. Properties are required to have values, and have them early, so that Kotlin can ensure the correct types are used. The mutability of variables is tightly controlled—in Kotlin's case, through var and val being different—so that Kotlin can determine when it needs to keep up with a variable's type over time, and the values assigned to that type. And Kotlin doesn't convert types for you. All of these nuances to Kotlin are keeping type safety intact and making it much harder to break Kotlin at runtime.

      Believe it or not, there is a lot more to Kotlin's type safety: things you'll learn in future chapters. Kotlin has a lot of specific rules around null values, checking for null, and the idea of null safety: keeping your code free from null pointer exceptions.

      NOTE If you're not familiar with null pointers, or have never seen a NullPointerException in, for example, Java, then count yourself lucky. If you have, though, they're often the source of very difficult bugs. Kotlin attempts to add some extra work at the coding layer in favor of getting rid of those annoying and hard-to-find bugs. It's a trade-off, but one that works quite well for Kotlin.

      If you take a step back and consider what you've done over these last two chapters, it's both cool and potentially a little confusing. The cool part is even if you've never written a line of Kotlin before, you've now got a functioning class that exercises some of Kotlin's key and relatively unique features: objects, construction, and overriding superclasses (more on that later), as well as the somewhat unusual requirements Kotlin enforces around property value assignments.

      What could be a bit confusing, though, is how you got to the terse code in Listing 2.10. You added properties, removed them, added a couple of custom mutators, removed those, and ultimately deleted nearly as much code as you added. Wouldn't it have been easier to just jump right to Listing 2.10?

      Well, it might have, but it wouldn't have been that helpful in getting you to see how Kotlin works. Arguably just as important, it wouldn't be realistic. Seasoned developers are constantly going through this same process: trying things out, then adding something new, having to go back and change old code to accommodate new code, tweaking, and removing as much as is added. It's common to refactor—to restructure code to make it less redundant, more efficient, more organized, and generally just better.

      That's really the point if you're learning Kotlin, too: to get more than just a syntactical understanding. You want to be a good developer? Keep adding things, removing things, and taking a fresh look to make sure your code is the right code.

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

      Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

/9j/4AAQSkZJRgABAQEBLAEsAAD/7SZ8UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAA8cAVoAAxsl RxwCAAACAAAAOEJJTQQlAAAAAAAQzc/6fajHvgkFcHaurwXDTjhCSU0EOgAAAAABIQAAABAAAAAB AAAAAAALcHJpbnRPdXRwdXQAAAAFAAAAAFBzdFNib29sAQAAAABJbnRlZW51bQAAAABJbnRlAAAA AENscm0AAAAPcHJpbnRTaXh0ZWVuQml0Ym9vbAAAAAALcHJpbnRlck5hbWVURVhUAAAAHwBIAFAA IABMAGEAcwBlAHIASgBlAHQAIABQAHIAbwBmAGUAcwBzAGkAbwBuAGEAbAAgAFAAMQAxADAAOAAA AAAAD3ByaW50UHJvb2ZTZXR1cE9iamMAAAAMAFAAcgBvAG8AZgAgAFMAZQB0AHUAcAAAAAAACnBy b29mU2V0dXAAAAABAAAAAEJsdG5lbnVtAAAADGJ1aWx0aW5Qcm9vZgAAAAlwcm9vZkNNWUsAOEJJ TQQ7AAAAAAItAAAAEAAAAAEAAAAAABJwcmludE91dHB1dE9wdGlvbnMAAAAXAAAAAENwdG5ib29s AAAAAABDbGJyYm9vbAAAAAAAUmdzTWJvb2wAAAAAAENybkNib29sAAAAAABDbnRDYm9vbAAAAAAA TGJsc2Jvb2wAAAAAAE5ndHZib29sAAAAAABFbWxEYm9vbAAAAAAASW50cmJvb2wAAAAAAEJja2dP YmpjAAAAAQAAAAAAAFJHQkMAAAADAAAAAFJkICBkb3ViQG/gAAAAAAAAAAAAR3JuIGRvdWJAb+AA AAAAAAAAAABCbCAgZG91YkBv4AAAAAAAAAAAAEJyZFRVbnRGI1JsdAAAAAAAAAAAAAAAAEJsZCBV bnRGI1JsdAAAAAAAAAAAAAAAAFJzbHRVbnRGI1B4bEBywAAA
СКАЧАТЬ