Немного избитых и не избитых советов для того, чтобы компилятор мог сделать немного больше статической диспетчеризации вместо динамической.
Используем final для классов
final class A() { ... }
Используем private и fileprivate для типов, свойств и методов
private class B() { func doSomething() { ... } }
Если у класса B нет детей, то вызов doSomething() в этом же файле может быть заменен на статический даже без final. И это то, о чем не так и редко забывают разработчики. Уровни доступа - не просто красивый API, но и увеличение скорости работы приложения.
Немного избитых и не избитых советов для того, чтобы компилятор мог сделать немного больше статической диспетчеризации вместо динамической.
Используем final для классов
final class A() { ... }
Используем private и fileprivate для типов, свойств и методов
private class B() { func doSomething() { ... } }
Если у класса B нет детей, то вызов doSomething() в этом же файле может быть заменен на статический даже без final. И это то, о чем не так и редко забывают разработчики. Уровни доступа - не просто красивый API, но и увеличение скорости работы приложения.
BY Мобильный кот
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.
Telegram announces Search Filters
With the help of the Search Filters option, users can now filter search results by type. They can do that by using the new tabs: Media, Links, Files and others. Searches can be done based on the particular time period like by typing in the date or even “Yesterday”. If users type in the name of a person, group, channel or bot, an extra filter will be applied to the searches.