В dart переменная должна явно объявляться с типом null, либо совместимым с ним (dynamic). Без этого в неё null-значение положить не получится.
String one = 'two'; // инициализация обязательна
String? two; // можно сделать потом
String three;
...
three = two; // нельзя
...
// в обоих случаях ниже компилятор без проверки типов не даст возможности присвоить null в не-null
two = one ?? 'empty'
three = two
...
if (two != null) {
three = two
}
По сути это те же самые опциональные типы.
Есть ещё late, который позволяет объявить переменную без null и без инициализации и инициализировать её позже. Ну и падение в рантайме, если это не сделать. Вот это уже и правда довольно спорное решение в языковом дизайней.
Не являюсь Go-программистом, поэтому не знаю, какой код там считается идиоматическим (в том числе в плане именования различных сущностей). Но разве вот это
func Copy(dst Writer, src Reader) (written int64, err error) {
var buf [32 * 1024]byte
for {
n, err := src.Read(buf[:])
if n > 0 {
nw, ew := dst.Write(buf[0:n])
if nw > 0 {
written += int64(nw)
}
if ew != nil {
err = ew
break
}
if n != nw {
err = io.ErrShortWrite
break
}
}
if err != nil {
if err == io.EOF {
err = nil
}
break
}
}
return written, err
}
?
Вопрос о том, нужно ли разделять блоки кода переносом строки - нераскрытый (наверное).
Однако за такое наименование переменных я себя через пару месяцев бил бы по рукам. Даже если понятен контекст, то это всё равно дополнительная когнитивная нагрузка, которую хотелось бы избежать. А что будет чувствовать сторонний разработчик...
Для меня практика показала, что нормальные названия (достаточные, не в крайностях "описать всё детально") значительно облегчают взаимодействие с кодом в будущем.
Извиняюсь за некропост, но эксперементы были. Тот же dart, который пытались нативно встроить в хром. Язык крайне приятный, однако в качестве "замены JS", увы, не взлетел.
Пользуюсь дистром уже около двух лет - полёт нормальный. В чатике в тг состою, там тоже такого повода не проскакивает. Хотелось бы больше конкретики: где эта "небинарность" и "инклюзивность" проявляется, в каких местах и как. Желательно со ссылками
Похоже на рерайт (с вкраплениям, возможно, копирайта) вот этой статьи: https://habr.com/ru/companies/productivity_inside/articles/835940/
Ниже будет список найденных соответствий, где слева - номер, указанный в этой статье, а справа - содержимое другой статьи, подозрительно похожее по смыслу.
0) Очень похожее вступление 1) "Работа с самыми современными технологиями" 2) "Внесение больших изменений" 3) "Больше никаких скучных задач" 6) "У них есть все ответы" 9) "Время расслабиться" 10) "Стать незаменимым"
Не знаю, как относиться к подобному и как относится к этому хабр. Но когда в первом абзаце пишут "В годы джуниорства у меня сложились...", то ожидаешь рассказ о своём личном опыте.
Не смотря на то, что другие площадки явно не дотягивают до ютуба, последнее время замечаю действительно некоторую "кривость". Кривые алгоритмы автомодерации комментариев. В чём суть. Оставляешь комментарий под видео - всё хорошо, он остаётся. Оставляешь комментарий под другой комментарий без упоминания пользователя - он так же остаётся. Когда под другим комментарием используешь упоминание пользователя, то есть шанс того, что после публикации и обновлении страницы комментарий пропадёт. При этом сам комментарий можно посмотреть через личный кабинет и через сортировку "сначала новые". В "сначала популярные" он отображаться не будет и тот, кого упоминают, ответ не получит. Судя по реддиту, да и по тому, что удалось надыбать гуглением, проблема широкая. Даже авторы каналов пишут, что у них отключены все эти штуки против спама и премодерации и проч, но всё равно комментарии работают через одно место. Речь идёт про нормальные комменатрии, без стоп слов. Без мата и оскорблений, без разжигания и нетерпимости (при этом подобные часто вижу сам).
Ещё одна кривость. Я прывык удалять слово через ctrl + бекспейс. Но иногда это удаляет весь комментарий от курсора до начала. Встречается такое только на ютубе. Тоже неприятно.
По сравнению с юзер экспириенсом того же рутуба это мелочи, но тоже иногда напрягает.
Как пользователь Vivaldi, отношусь к нарушению приватности примерно так же, как и большая часть других пользователей других браузеров - "как получится".
У Vivaldi есть другие фичи, ради которых мы его ставим.
Так смысл как раз в том, чтобы сторонние сайты не определяли инкогнито. Это как всякие сервисы по проверки IP - если используете прокси/VPN и при этом проверяльщик говорит, что вы их не используете - то это очень хорошо. Просто потому что сам факт использования оных выделает Вас среди других пользователей.
Пытался я на этом Kivy запустить пример из официальных доков под Windows. Он запустился. Только вот при попытке что-нибудь скопировать (или вставить) в areatext (не скажу, как точно оно там называется), у меня приложение крашилось. Не знаю, от чего это могло быть — версия питона не та, фаза луны другая, звёзды не такие… в общем, отказался от него.
В dart переменная должна явно объявляться с типом
null, либо совместимым с ним (dynamic). Без этого в неё null-значение положить не получится.По сути это те же самые опциональные типы.
Есть ещё
late, который позволяет объявить переменную безnullи без инициализации и инициализировать её позже. Ну и падение в рантайме, если это не сделать. Вот это уже и правда довольно спорное решение в языковом дизайней.Что под этим подразумевается? В dart null присутсвует в виде null-safety
Не являюсь Go-программистом, поэтому не знаю, какой код там считается идиоматическим (в том числе в плане именования различных сущностей). Но разве вот это
не более читабельно, чем это
?
Вопрос о том, нужно ли разделять блоки кода переносом строки - нераскрытый (наверное).
Однако за такое наименование переменных я себя через пару месяцев бил бы по рукам. Даже если понятен контекст, то это всё равно дополнительная когнитивная нагрузка, которую хотелось бы избежать. А что будет чувствовать сторонний разработчик...
Для меня практика показала, что нормальные названия (достаточные, не в крайностях "описать всё детально") значительно облегчают взаимодействие с кодом в будущем.
Извиняюсь за некропост, но эксперементы были. Тот же dart, который пытались нативно встроить в хром. Язык крайне приятный, однако в качестве "замены JS", увы, не взлетел.
GCC не проверяли?
Пользуюсь дистром уже около двух лет - полёт нормальный. В чатике в тг состою, там тоже такого повода не проскакивает.
Хотелось бы больше конкретики: где эта "небинарность" и "инклюзивность" проявляется, в каких местах и как. Желательно со ссылками
Проблема зависимостей - это та самая причина, по которой я перешёл на nixos. И оно того стоило (не смотря на все трудности перехода).
А вот в nixos...
Ох, да. Прошу прощения.
https://habr.com/ru/articles/795295/
Похоже на рерайт (с вкраплениям, возможно, копирайта) вот этой статьи: https://habr.com/ru/companies/productivity_inside/articles/835940/
Ниже будет список найденных соответствий, где слева - номер, указанный в этой статье, а справа - содержимое другой статьи, подозрительно похожее по смыслу.
0) Очень похожее вступление
1) "Работа с самыми современными технологиями"
2) "Внесение больших изменений"
3) "Больше никаких скучных задач"
6) "У них есть все ответы"
9) "Время расслабиться"
10) "Стать незаменимым"
Не знаю, как относиться к подобному и как относится к этому хабр. Но когда в первом абзаце пишут "В годы джуниорства у меня сложились...", то ожидаешь рассказ о своём личном опыте.
UPD: заметил плашку перевода и там и там.
А если каждый термин ещё и загуглить, то можно провалиться в Википедию на несколько часов...
Не смотря на то, что другие площадки явно не дотягивают до ютуба, последнее время замечаю действительно некоторую "кривость". Кривые алгоритмы автомодерации комментариев.
В чём суть. Оставляешь комментарий под видео - всё хорошо, он остаётся.
Оставляешь комментарий под другой комментарий без упоминания пользователя - он так же остаётся.
Когда под другим комментарием используешь упоминание пользователя, то есть шанс того, что после публикации и обновлении страницы комментарий пропадёт.
При этом сам комментарий можно посмотреть через личный кабинет и через сортировку "сначала новые". В "сначала популярные" он отображаться не будет и тот, кого упоминают, ответ не получит.
Судя по реддиту, да и по тому, что удалось надыбать гуглением, проблема широкая. Даже авторы каналов пишут, что у них отключены все эти штуки против спама и премодерации и проч, но всё равно комментарии работают через одно место.
Речь идёт про нормальные комменатрии, без стоп слов. Без мата и оскорблений, без разжигания и нетерпимости (при этом подобные часто вижу сам).
Ещё одна кривость. Я прывык удалять слово через ctrl + бекспейс. Но иногда это удаляет весь комментарий от курсора до начала. Встречается такое только на ютубе. Тоже неприятно.
По сравнению с юзер экспириенсом того же рутуба это мелочи, но тоже иногда напрягает.
Как пользователь Vivaldi, отношусь к нарушению приватности примерно так же, как и большая часть других пользователей других браузеров - "как получится".
У Vivaldi есть другие фичи, ради которых мы его ставим.
Так смысл как раз в том, чтобы сторонние сайты не определяли инкогнито.
Это как всякие сервисы по проверки IP - если используете прокси/VPN и при этом проверяльщик говорит, что вы их не используете - то это очень хорошо.
Просто потому что сам факт использования оных выделает Вас среди других пользователей.
Довольно странно отрицать, что настолькный ПК, собранный своими руками, будет более производительным, чем любой ноутбук (при тех же ценах).
Единообразие. Для перфикционистов - самое то. Но я исключительно про алфавитную сортировку.
Правда, в вебшторме это работает по умолчанию для шаблонов, стилей и импортов. Может быть в VSCode плагин будет более актуальным
А вот интерфейсы и проч. я бы предпочёл сортировать руками - алфавитная сортировка там не всегда уместа.
Аргумент.
"Отключите антивирус, чтобы он не ругался на наш кряк".