Pull to refresh
0
0
«в этом NotificationCenter захват self ни к чему плохому не приводит»

Разве? Блок содержит strong reference на объект, который является подписчиком. Он же не отпишится, пока его не освободят -> retain circle
UIScrollView — не лишний? Может лучше было обойтись распознованием жестов?

Не очень понял, зачем там преобразование weak reference в strong reference и как это вообще должно работать.

addLabelsWithNumber — не очень. Во-первых, лучше всё-таки деражать массив со своими лейблами и удалять по нему. Во-вторых, он делает больше чем добавление и из названия этого не следует. Лучше разделить на два разных метода или подбрать более точное название
У меня другой опыт. Никакого облегчения при переключении на Swift, Java или JS в связи с отсутствием скобок не испытываю. Хотя приходится немного привыкнуть к точкам, а потом к скобкам, когда возвращаешься обратно.

Но писать надо по-другому, что есть, то есть. Выше вы написали, что ObjC провоцирует вложенность. По-моему, наоборот. Провоцирует выносить в отдельные переменные, особенно конструкции типа [[Class alloc] init] Код длиннее получается, зато каждая отдельная строка — проще.
В примере приведены методы, а не свойства. Если бы там были свойства, как в вашей строке выше, то квадратных скобок было бы меньше. Странно что вы этого не понимаете, если в курсе.
<про OpenUrl автор уже поправил>.

Опять-таки, лично для меня код на ObjC читается легко и приятно. Не хуже чем нижний пример, во всяком случае. А вот если нужно [[NSUrl alloc] init] делать, тогда конструкцию пора разбивать на две строки. Читаемость только выиграет, кстати.
уже с 2-3 будет хуже
В ObjC свойства тоже есть.
Назвать метод — мало. Надо ещё указать смысл аргументов и порядок их передачи. Что без именованных параметров будет монструознее, чем с ними.
Честно говоря, не вижу разницы между точкой и квадратной скобкой в плане читаемости.
Под вложенностью я имел ввиду результат вызова метода, передаваемый как параметр для вызова другого метода. Что-то вроде:
[view animateWithDuration: [obj2 gimmeDuration] animation:[obj2 gimmeAnimation]] Что лично для меня не читается труднее чем: view.animateWithDuration(obj2.gimmeDuration(), obj2.gimmeAnimation())
Читаемость ObjC — дело привычки и стиля кода. Конечно, можно написать нечитаемые конструкции с кучей скобок и большой вложенностью. Но подобные конструкции и в других языках читаются плохо.

По Swift — если вы про именованный аргумент, то я ниже ответил.
Код пишется один раз, а читается много. Даже если это проект одной команды, не говоря уже о фреймворках и просто публично доступном коде. Поэтому лучше один раз чуть больше времени потратить на описание, зато экономить каждый раз при чтении на необходимости лезть в тело метода или документацию, чтобы понять за что отвечает тот или иной аргумент.
ObjC — отличный язык, на котором приятно писать, после определённой практики. Во всяком случае, не слышал массовых жалоб от тех, кто постоянно на нём пишет.
И что такого особенного в Swift для обратной совместимости с ним? Чем это мешает языку?
Синтаксис ObjC вырвиглазным кажется только по началу. Через несколько месяцев привыкаешь и остаётся только бонус в виде именованных аргументов. Потом языки с привычным С синтаксисом кажутся неудобными из-за отсутствия этой фичи.

Что до Swift и изъятия ++ и --, это неоднозначное на первый взгляд решение. Разработчики в результате обсуждения решили убрать по нескольким причинам.
1) Реальной пользы мало, i += 1 не намного длиннее, так что конструкция была добавлена скорее по привычке
2) Наиболее частое использование — увеличение индекса при итерации коллекций. Итерация в Swift делается другими, более безопасными и изящными способами.
3) Часто использовались в запутанных конструкциях, усложняющих понимание кода.

там и другие аргументы были, но менее убедительные, на мой взгляд.
ragimovich спасибо за ссылку, интересно почитать было.
Можете рассказать о своём опыте с Топтал? Пробовали работать с Upwork Pro? Искал каки-либо отзывы и обсуждения, но нашёл довольно мало. Примерно такого содержания «так и не понял зачем это нужно, куча собеседований и тестовые задания, в итоге рейт ниже чем обычно беру (про топтал), количество заказов не радует (апворк про)»

Сейчас висит приглашение на Upwork Pro, там собеседование на 3 часа вроде, да и потом ещё какое-то продолжение, вроде. Прикидываю, стоит ли тратить время.
Только сейчас почему-то прочитал статью. Релиз уже свершился? Спасибо за интересное чтение и полезные ссылки.
Попасть полбеды, но я что-то положительных отзывов о нём не слышал. Ровно как и о Upwork Pro.
Избегать политики — вполне разумное решение при ведении бизнеса, как по-моему. При затрагивании этой темы даже соблюдение реального нейтралитета — уже крайне скользкая дорожка. Не давая оценок тем или иным личностям и движениям вы всё равно вынужденны кого-то замалчивать. И обязательно найдутся недовольные, не говоря о ситуации, при которой политики и правители так или иначе оцениваются.
Про Дурова — вопрос не только и не столько в WhatsApp, хотя такие высказывания о прямом и более популярном конкуренте выглядят… несерьёзно. Я могу привести другие примеры, в том числе и нелогичных высказываний, но не думаю что нам надо начинать дискуссию по этому поводу. Лучше останемся при своих.
Гениальность Грозного и Сталина как правителей как раз вопросов не вызывает. А вот приписывание их к «злым», при одновременном отнесении других вышеозначенных персонажей к «великим умам» по меньшей мере спорно. А эпитет в сторону Дурова заслуженный, учитывая предидущие публичные демонстрации скудоумия с его стороны.
Наполеон, Захер Мазох, Вашингтон, Франкли — великие умы, а Грозный и Сталин — злые гении, конечно.

Information

Rating
Does not participate
Registered
Activity