All streams
Search
Write a publication
Pull to refresh
15
0

Senior Frontend Developer

Send message

Если не рассматривать конвенциональные вопросы, я вижу только один реальный минус: 2 дополнительных символа на каждую переменную, что слегка увеличивает конечный размер бандла. Но, имхо, это уже слишком микрооптимизация, чтобы всерьёз задумываться о ней.

Может, вы просто занимаетесь чем-то более интересным? :)

Всегда грустно, когда похвальные стремления и упорство основаны на ложных предпосылках, что в результате обычно не ведёт ни к чему хорошему. Автору бы сначала разобраться в некоторых базовых вопросах, прежде, чем строить на их основе свою жизнь.


Например, следущее мнение:


Сахар вреден в любом количестве. По многим причинам. Это неоспоримый факт в современном мире. Точно так же, как «курение убивает».

Оно явно построено не на современном научном базисе, а на ошибочных гипотезах конца ХХ века, давно оспоренных и опровергнутых, ввиду чего выглядит нелепо, особенно от человека, который стремится улучшить себя (не знаю, возможно, это только мне так кажется, но, на мой взгляд, улучшить себя можно только полагаясь на науку).


Вообще вся эта "борьба с собой" выглядит как будто человек бьёт по компьютеру, когда тот тормозит, вместо того, чтобы узнать причину. Ведь все эти взрывные желания не возникают просто так. Они чем-то вызваны и что-то решают, то, что человек не замечает просто потому, что этим занимается подсознание. И подобное насилие над собой вряд ли приведёт к чему-то полезному. Как удар по компьютеру может, скорее, сломать что-то внутри, чем устранить причину лагов.


Потому что простые решения никогда не работают. Увы.

А вы когда-нибудь пробовали кастомизировать внешний вид чекбокса? Вроде бы абсолютно рутинная задача — но для того, чтобы её реализовать, нужно скрыть изначальный элемент формы и использовать те самые div'ы. Потому что в то время, когда создавались чекбоксы, никто и думать не думал о том, что их когда-то будут стилизовать.


В этом основная проблема встроенных элементов: они никогда не будут отвечать всему множеству требований. Обязательно найдётся задача, при которой элемент придется кастомизировать. А меж тем браузеры не могут просто брать и внедрять любые хотелки: они жёстко ограничены обратной совместимостью. Так что отсюда следует довольно логичный вывод: чем проще исходный "кирпичик", тем проще будет его использовать под любую задачу.


Почему сейчас пользуются div'ами? Да потому что это удобно. Это минимально сложный элемент, который, по сути своей, обозначает какую-то "зону" документа. И разработчик может с этой зоной делать всё, что захочет.


Паззл — это, конечно, легко и приятно. Но, как ни меняй кусочки местами, всегда соберёшь одну и ту же картину. На холсте же красками можно нарисовать всё, что угодно. Хотя и придётся некоторые вещи рисовать заново.


Поэтому мой ответ на ваш вопрос: нет. Я бы не стал пользоваться этой системой. Она не дала бы нужного уровня свободы. Для того же, чтобы не писать компоненты раз за разом, существуют библиотеки компонентов.

Julia несколько месяцев? Што? Я про этот язык услышал ещё в 2014, до того, как познакомился с D и Rust. Может, это версии 1.0 столько, но сам-то язык развивается минимум лет 6 уже.

Rust. У него целая команда занимается оптимизацией языка под микроконтроллеры. И целую книгу написали.

На самом деле вместо мобильного приложения, особенно для такого ресурса, как Хабр, который не требует каких-то специальных разрешений, лучше всего будет PWA. Один код вообще на все устройства, занимает намного меньше места, ставится и работает как полноценное приложение, прекрасно фоллбекается обратно на сайт. Это фича, которую сейчас больше всего жду от Хабра. Хотя нет, вру — больше всего жду тёмную тему, а PWA на втором месте.

Я думаю, что это вообще не важный и не принципиальный момент. Просто в пределах проекта (или группы проектов) надо придерживаться одинакового код стайла.

Я бы сказал — в пределах языка. Чтобы, когда читаешь исходники библиотеки, не пришлось дополнительно думать о нестандартном оформлении.

На самом деле, имхо, как писать скобочку — вообще не важно. Стандарт — это в первую очередь для того, чтобы вся кодовая база была консистентна, и новичок на проекте не испытывал когнитивный диссонанс каждый раз, когда видит разные стили, и не тратил свой рабочий ресурс на то, чтобы определиться, как именно ему писать. Ну и для того, чтобы использовать fmt, который будут сами стилизовать код.


К примеру, в C# принят подход с переносом скобок на следующую строку во всех случаях — это правило языка. На JS, наоборот, нужно скобки оставлять на той же строке, даже для классов и методов — и это тоже правило языка. И используя эти языки, я буду использовать именно их правила, чтобы любой другой программист, прочитав код, обращал внимание на логику, а не на нестандартное оформление.

Эффективный менеджер, сразу видно. Сначала научитесь общению с людьми, без хамства, а потом уже увольняйте :)

И это пишет человек, сказавший в своём комментарии:


Может просто начать по-человечески оформлять код, без идиотской привычки ставить открывающую скобочку в одной строке с if?

В своём глазу бревна не видим? :D


Теперь понятно, почему нынешний софт такой тормозной: все думают о стандартах, а не удобстве (читаемости в данном случае) для человека…

Вы прям взаимоисключающие параграфы используете. Стандарты ведь придумали как раз для удобства человека.


А про "тормозной код" даже как-то и сказать нечего: как скорость исполнения кода зависит от стиля написания кода — решительно непонятно.

Как будто простой перенос скобки на новую строку как-то решает проблему. Лично для меня что там понятно, что там. Для новичка, скорее всего, будет непонятно в обоих случаях, просто глаз не привык.


А вот нестандартный кодстайл создаёт гораздо больше проблем, чем решает.

Есть же PSR, где чёрным по белому написано, как должны оформляться if-структуры. Зачем изобретать велосипед?

Да, он еще молод (2 года как стабилизировался)

2 года? Вообще-то расту уже скоро 5 будет, 1 версия вышла в мае 2015. В 2018 создали уже вторую версию, т.н. Rust 2018 Edition, которая фиксит многие огрехи первой версии.

Знаете, я вам немного завидую :) Вы не испытали того шквала отрицательных эмоций, который был у меня, и вам до сих пор эта игра нравится, вы ей восторгаетесь. Я же играл и до фикса, и после фикса, и для меня, к сожалению, ничего особо не изменилось. Я по-прежнему сторонник "концовки Карпишина", существует она или нет. Если интересно, я описал её вкратце в посте выше.

Ну, возможно, "дерзкий" — чересчур громкое слово. Просто это одна из немногих хороших новостей среди скандалов и новостей об очередном факапе какой-нибудь компании, которая очень сильно хотела денег. К тому же эта новость связана с развитием всей индустрии, что в последнее время редкость.

Мм, если не ошибаюсь, полный вариант я читал на форуме Bioware, но когда я попытался туда сейчас сунуться, оказалось, что он закрыт. Ну что ж, попытаюсь пересказать то, что помню. В принципе, если загуглить что-то вроде Mass Effect Drew Karpyshyn ending, там много новостей с отрывочным описанием выпадет.


Итак, некогда существовала изначальная раса (вероятно, Левиафаны), которая открыла эффект масс и построила Ретрансляторы для быстрого путешествия по галактике. Однако время шло, и они заметили, что использование тёмной энергии крайне отрицательно влияет на звёзды и галактику в целом. Звёзды начали стареть, и стареть намного быстрее, чем в них это заложено природой.


Прим: Мы сталкиваемся с этим эффектом в Mass Effect 2, в миссии Dossier:Tali, где рекрутируем Тали, прилетевшую на Haestrom исследовать странную активность звезды, которая внезапно начала гибнуть и превращаться в красный гигант.


Левиафаны и другие расы, существовавшие в то время, принялись лихорадочно искать способы решения проблемы, но безуспешно. В конечном итоге, окончательно отчаявшаяся раса Левиафанов пришла к чудовищному плану.


Они пожертвовали собственной расой, превратив себя в первого Жнеца — если не ошибаюсь, это был Harbinger (Предвестник). Уничтожив и превратив в Жнецов остальные развитые расы, пользовавшиеся эффектом масс, они отбыли в межгалактическое пространство, чтобы вести бесконечные расчёты по спасению галактики — и ждать, пока разовьются ныне малоразвитые расы, пока они доберутся до эффекта масс. Ретрансляторы было решено оставить на месте — так Жнецы получали на руки готовую карту расселения цивилизаций (кто же откажется от готовых транспортных врат?) С этой же целью была оставлена Цитадель.


Так началась цепочка циклов в 50 000 лет. Каждый раз, когда Жнецы являлись собирать жатву новых рас, они надеялись, что найдут кого-то, кто сможет найти решение проблемы тёмной энергии.


И такой находкой для них стали люди. Генетическое разнообразие человечества, пытливость и находчивость человеческой цивилизации оказалось тем самым лучиком надежды, который так ждали Жнецы. Именно поэтому они так торопились, что выслали Коллекционеров во ME2 собирать людей из удалённых колоний, чтобы создать нового, человеческого Жнеца. К несчастью, Шепард помешал им в этом, и ничего не оставалось, как начать полномасштабное вторжение.


В изначальной концовке, задуманной Карпишиным, Шепарду пришлось бы делать тяжёлый выбор:


  • Уничтожить Жнецов, спасая всю ныне существующую цивилизацию, но при этом положиться на крохотную надежду, что эта цивилизация когда-то в будущем сможет найти решение проблемы, над которой безуспешно бились Жнецы бессчётные сотни тысячелетий. И в конечном итоге, возможно, допустить уничтожение всей галактики.
  • Разрешить Жнецам поглотить всю нынешнюю цивилизацию, превратить их в Жнецов и, наконец-то, с высокой вероятностью, решить проблему тёмной энергии. Тогда Жнецы больше не будут нужны, и новые расы, что придут на смену, смогут, наконец-то, жить вовне пятидесятитысячелетнего цикла.

Конечно, найти проблемы в этой концовке можно, и можно легко. Пока я писал этот текст, я сам нашёл несколько крупных дыр. Однако, в отличие от воплощённой в жизнь, эта концовка мне нравится гораздо больше по следующим причинам:


  • Она объясняет, почему цикл игр называется Mass Effect.
  • Она объясняет, что имел в виду Предвестник, когда сказал: "Мы — ваше спасение через уничтожение" (We are your salvation through destruction).
  • Она объясняет фразу Предвестника: "Каждый из нас — народ, независимый и свободный от слабостей" (We are each a nation, independent, free of all weakness).
  • Она объясняет, с чем и зачем мы сражались в конце ME2, что такое этот Протожнец, и почему Жнецы вообще так заторопились.
  • Она объясняет, почему вообще нужна органика, чтобы создать Жнеца — чтобы они обладали совокупным интеллектом всех представителей расы, из которой они были созданы.
  • Она не вводит какого-то непонятного мальчика, который командует Жнецами как собачками (независимы и свободны от слабостей? Ха!)
  • Она объясняет, что происходило на Haestrom, а также множество оговорок в описаниях планет и звёзд, сокрытых в Кодексах первой и второй части.
  • Она даёт гораздо более тяжёлый выбор, чем просто пожертвовать Шепардом.
  • Она гораздо более логична, чем просто "Лучший способ решить проблему синтетиков и органиков — убить органиков, пока они не создали синтетиков" (WTF? Это серьёзно так глупо звучит?..)

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

Нет, я предлагаю их уважать за то, что они решились на такой дерзкий эксперимент, что призван поколебать основы всей индустрии. В конце концов, шапочками сейчас занимаются все, изредка встречаются герои, наперекор всему создающие прекрасные истории (привет, CD Projekt Red), и совсем не появляется тех, кто пытается сдвинуть с места всю индустрию. Valve пытается — за что её и стоит уважать.


А про МЕ3 высказался выше.

Нет-нет, я имел в виду именно МЕ3. Там есть множество прекрасных моментов, завершающих истории соратников — но все они рассыпаются перед лицом неумолимой концовки. После того, как я сыграл в неё впервые, я долго сидел перед монитором и недоумевал: в смысле? Какой спор синтетиков и органиков? Я же только что решил эту проблему у кварианцев с гетами. По всем законам литературного жанра, если проблема решена в произведении — она решена совсем. Она не может снова возникнуть, да ещё и как завершение эпической саги, открывающее все тайны Жнецов, которые суть что-то немыслимое и непознаваемое. И тут — снова геты, только в профиль? Зачем?


Конечно же, я пошёл гуглить. И быстро понял, что я не один не впечатлился "светофором" концовок, а потом и прочитал потенциальную концовку, которую вроде как задумывал изначально Карпишин, ушедший из компании до окончания разработки МЕ3. Концовку, которая превосходно связывала воедино всё, что было на протяжении всех трёх серий, включая само название Mass Effect.


Не знаю уж, существует ли действительно эта концовка, или это просто фейк, но то, что мне показали в конце МЕ3, то, чем официально решили завершить настолько великолепную сагу — для меня вот это как раз настоящий плевок в лицо. Поэтому Bioware для меня закончилась гораздо раньше Андромеды.


Да, это сугубо личное впечатление и личное разочарование, не хочу его навязывать. Но именно поэтому я считаю, что лучше уж совсем не будет продолжения, чем будет что-то вот такое, от которого не хочется даже особо вспоминать целую серию некогда любимых игр.

А я считаю, что всё они делают правильно. Да, то, что они тянут с третьим эпизодом (вплоть до полной утраты ожиданий на его выход) — это неприятно. Но знаете, это намного лучше, чем эпический провал Mass Effect 3, где махнули рукой на весь предыдущий сюжет и сделали настолько убогую концовку, что про эту игру сейчас даже вспоминать не хочется.


А если смотреть с технической стороны, то на фоне глобального застоя AAA-игр, которые всё больше и больше скатываются в банальное деньговыжимательство с тоннами лутбоксов и микротранзакций, такие смелые эксперименты — это то, что нужно. Если он удастся — это поможет встряхнуть индустрию, возможно, создать новое, полноценное ААА-направление для незаслуженно заброшенного VR, о котором в последние годы, когда улёгся хайп, все забыли.


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


Конечно, провал не менее (а может, и более) вероятен. Но тогда мы просто вернёмся к статусу кво, и ничего толком не изменится. Разве что это сделает выход третьей части Half-Life ещё менее вероятным, но разве за эти пятнадцать лет ещё не все ожидания утрачены?..


В любом случае, я считаю, что нужно отдать дань уважения столь неожиданному эксперименту от компании, которую уже привыкли высмеивать за шапочки в Team Fortress и за скины в Counter Strike.

Кстати, сообщество тоже пытается решить эту проблему. Например, буквально на днях вышла бета Pika Registry, который обязуется взять на себя build-step, чтобы сделать реестр пакетов более защищённым.

Information

Rating
5,281-st
Location
Россия
Date of birth
Registered
Activity