# рефакторинг

Published articles for рефакторинг.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Вышел PhpStorm 2021.3

DevFeed: [Вышел PhpStorm 2021.3](<https://devfeed.tech/articles/phpstorm-2021-3-23948.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/JetBrains/articles/594473/>)

Author: pronskiy (JetBrains)

Published: 2021-12-09T11:20:20Z

Content type: release

Language: ru

Sources: [JetBrains RU](<https://devfeed.tech/sources/jetbrains-ru.md>)

Topics: [phpstorm](<https://devfeed.tech/topics/phpstorm.md>), [PHP](<https://devfeed.tech/topics/php.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [http](<https://devfeed.tech/tags/http.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [json](<https://devfeed.tech/tags/json.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [net](<https://devfeed.tech/tags/net.md>), [php](<https://devfeed.tech/tags/php.md>), [php-8-1](<https://devfeed.tech/tags/php-8-1.md>), [phpstorm](<https://devfeed.tech/tags/phpstorm.md>), [tag-8ecb3d630e31](<https://devfeed.tech/tags/tag-8ecb3d630e31.md>), [tag-e605ecb2bfdd](<https://devfeed.tech/tags/tag-e605ecb2bfdd.md>), [toolbox](<https://devfeed.tech/tags/toolbox.md>), [toolbox-app](<https://devfeed.tech/tags/toolbox-app.md>)

### AI overview

This release article presents PhpStorm 2021.3, highlighting full PHP 8.1 support, improved generics and refactoring, enhanced HTTP client and deployment workflows, version-control updates, remote development capabilities, and user-experience improvements.

### Source excerpt

В этом релизе мы полностью поддержали PHP 8.1, улучшили обработку дженериков, реализовали drag-and-drop для перемещения классов и пространств имен, обновили HTTP-клиент, повысили удобство процесса развертывания и управления версиями, а также добавили новые возможности удаленной разработки. Под катом подробный разбор всех изменений и новых возможностей с кучей гифок. Скачать PhpStorm можно на сайте или через приложение Toolbox App. Как и раньше, студентам, преподавателям и тем, кто занимается опенсорс-проектами, JetBrains предоставляет бесплатные лицензии. Стартапам доступна скидка 50%. Читать дальше ->

## Рефакторинг функций расширения в Kotlin: использование объекта-компаньона

DevFeed: [Рефакторинг функций расширения в Kotlin: использование объекта-компаньона](<https://devfeed.tech/articles/kotlin-23643.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/575550/>)

Author: ChPr (Badoo)

Published: 2021-08-31T12:09:10Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [tag-8ecb3d630e31](<https://devfeed.tech/tags/tag-8ecb3d630e31.md>)

### AI overview

This article explains how Kotlin extension functions can become difficult to test and maintain when they accumulate business logic. It discusses singleton-related testability problems, increasing complexity, and refactoring toward a companion object.

### Source excerpt

В Kotlin есть отличная возможность использовать функции расширения, позволяющие писать более выразительный и компактный код. Под капотом это просто статические методы, которые могут навредить кодовой базе при некорректном использовании. В этой статье я расскажу, как работать с функциями расширения, которые со временем из небольших добавлений к коду трансформировались в монстров, содержащих бизнес-логику. Читать далее

## Исследуем баг iOS с помощью Hopper

DevFeed: [Исследуем баг iOS с помощью Hopper](<https://devfeed.tech/articles/ios-hopper-23612.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/504084/>)

Author: WisDooMer (Badoo)

Published: 2020-05-28T11:03:02Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Hopper](<https://devfeed.tech/topics/hopper.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [badoo](<https://devfeed.tech/tags/badoo.md>), [hopper](<https://devfeed.tech/tags/hopper.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-92ecabba3495](<https://devfeed.tech/tags/ios-92ecabba3495.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [tag-8ecb3d630e31](<https://devfeed.tech/tags/tag-8ecb3d630e31.md>)

### AI overview

An iOS developer from Badoo investigates why telephone-number predictive keyboard suggestions disappeared in iOS 13. The article traces the issue to a keyboard implementation refactor and demonstrates restoring the suggestions in a test project using method swizzling.

### Source excerpt

Привет! Меня зовут Александр Никишин, я занимаюсь разработкой iOS-приложений в компании Badoo. В статье я расскажу о том, как мы исследовали баг в UIKit, который Apple не хотела исправлять на протяжении полугода. Всё началось в августе 2019 года с первых бета-версий iOS 13. Тогда мы впервые столкнулись с проблемой. В приложениях Badoo и Bumble мы постоянно работаем над улучшением интерфейсов и, например, стараемся максимально оптимизировать нудный и не любимый пользователями процесс регистрации. Системные предиктивные подсказки над клавиатурой -- отличный способ сокращения количества кликов пользователя при вводе данных. Однако в новой версии iOS мы с удивлением обнаружили, что подсказки при вводе номера телефона пропали. Читать дальше ->