Size: a a a

2020 June 27

DP

Daniel Podolsky in Go-go!
если честно - изобрести init, даже если бы его не было, довольно просто

var _ = func()bool {
   …
   return true
}()
источник

МП

Мимо Проходящий... in Go-go!
да, я так делаю зачастую
источник

МП

Мимо Проходящий... in Go-go!
только там () в конце выражения
источник

DP

Daniel Podolsky in Go-go!
конечно
источник

DP

Daniel Podolsky in Go-go!
вот только зачем так делать, если есть init?
источник

VS

Vladimir Smirnov in Go-go!
Мимо Проходящий
пожалуй так. Я тоже использую в своём коде, который кроме меня ни кто не правит и ни кому не интересен. Иногда init позволяет писать меньше кода
на самом деле типичное использование инита где не страшно и не нарушает читаемость - это вынос всяких парсингов cmdline flag'ов из main'а а в main'е уже работа с валидированными параметрами
источник

Н

Никита in Go-go!
Vladimir Smirnov
на самом деле типичное использование инита где не страшно и не нарушает читаемость - это вынос всяких парсингов cmdline flag'ов из main'а а в main'е уже работа с валидированными параметрами
Зачем это выносить?
источник

VS

Vladimir Smirnov in Go-go!
Никита
Зачем это выносить?
для повышения читаемости, как ни странно)
источник

Н

Никита in Go-go!
И как это повышает читабельность?
источник

Н

Никита in Go-go!
Вы просто выносите часть кода в другую функцию на том же уровне и даже в том же файле возможно
источник

Н

Никита in Go-go!
Наоборот, я буду читать код, и думать: а где оно инициализировалось то?
источник

VS

Vladimir Smirnov in Go-go!
Никита
Вы просто выносите часть кода в другую функцию на том же уровне и даже в том же файле возможно
только у другой функции будет немного неявный вызов а значит при разборе main'а не надо об этом всем думать
источник

VS

Vladimir Smirnov in Go-go!
Никита
Наоборот, я буду читать код, и думать: а где оно инициализировалось то?
ну это лишь отсутствие опыта с таким подходом, если его везде придерживаться то читаемость проекта чуть лучше становится
источник

Н

Никита in Go-go!
Ну так и про глобальные переменные сказать можно тогда)
источник

VS

Vladimir Smirnov in Go-go!
Никита
Ну так и про глобальные переменные сказать можно тогда)
ну только невежды записывают какую-либо фичу языка в абсолютное зло которое не надо никогда использовать :)
источник

VS

Vladimir Smirnov in Go-go!
включая глобальные переменные, goto и init :)
источник

Н

Никита in Go-go!
Из действительно стоящих кейсов, когда можно юзнуть глобальную переменную, говорят только про логгер
источник

Н

Никита in Go-go!
Что в целом подтверждает мнение, что они ни на что не годны сейчас в мире асинка
источник

Н

Никита in Go-go!
Так и инит - зачем он нужен? Экономия на явном вызове функции для инициализации чего-то?
источник

МП

Мимо Проходящий... in Go-go!
Daniel Podolsky
вот только зачем так делать, если есть init?
например, чтобы написать несколько маленьких блоков кода вместо одного большого, в котором все скопом переменные инициализируются. имхо первое более читаемо
источник