
Slava
10.07.2017
15:38:57
у нас почти вся база кода уже аннотирована им

Vladimir
10.07.2017
15:40:45
это конечно полезно, но надо таким обмазывать примерно все
ну и вопрос в том, а не попытка ли это натянуть сову на глобус?
вопрос риторический же )

Google

Vladimir
10.07.2017
15:42:01
если что

Slava
10.07.2017
15:42:14
нет, не попытка, добавляет много фишек, сильно есть и пить не просит

Vladimir
10.07.2017
15:43:00
ну может инструмент (питон) просто не про это?

Mike
10.07.2017
15:43:14
но зачем для питона левые либы, если аннотация типов встроена в язык с 3.5?

Vladimir
10.07.2017
15:43:17
и если тебе нужна такая штука, то может это сигнал о том, чтоб ты задумался о выносе этого куска кода куда-то в другое место?

Slava
10.07.2017
15:43:37
инструмент позволяет делать хоть что, в больших проектах типизация помогает следить за кодом
некий бекпорт из 3.5

Vladimir
10.07.2017
15:44:40

Slava
10.07.2017
15:44:57
я не заставляю тебя пользоваться, я делюсь своим опытом
эта штука реально помогает

Vladimir
10.07.2017
15:45:27

Google

Vladimir
10.07.2017
15:45:36
но с такой логикой легаси там так и продолжит копиться )
просто станет чуть красивее

Slava
10.07.2017
15:45:47
безопаснее
есть такое понятие, как низко висящий фрукт
переписывание всей базы - это сложно и долго
добавление типизации, а с ней и безопасности - легко и быстро

Vladimir
10.07.2017
15:46:46
не так легко и не так быстро )
чтобы это качественно сделать нужно проанализировать весь код
понять как он работает
а это уже весомый кусок для переписывания

Slava
10.07.2017
15:47:29
ну ладно, тебе виднее =)

Vladimir
10.07.2017
15:47:33
иначе есть нехилые шансы огрести даже на такой адаптации же

Slava
10.07.2017
15:47:49
если всё покрыто тестами - то шансы минимизируются

Ruslan
10.07.2017
15:48:05

Vladimir
10.07.2017
15:48:11
я понимаю зачем такое надо, но вот вопрос выше про "а может это сигнал, что пора просто переделывать крупно проект?" остается

Ruslan
10.07.2017
15:48:23

Vladimir
10.07.2017
15:48:28
а если это именно оно - целесообразно ли добавлять типы?

Мерлин
10.07.2017
15:49:36
Типов много не бывает, имхо

Vladimir
10.07.2017
15:49:38
@m0sth8 я кстати не говорю что всегда ответ "нет" )

Google

Slava
10.07.2017
15:50:42
ещё раз, переписывание огромного проекта с нуля - это непосильная задача для бизнеса
улучшение проекта - это посильная задача
если есть для этого инструменты - вообще здорово

Vladimir
10.07.2017
15:51:22

Slava
10.07.2017
15:51:36
))))

Vladimir
10.07.2017
15:51:41
в таком случаи это будет серия маленьких переписываний )
и задача станет более посильной

Slava
10.07.2017
15:52:01
свидетель секты микросервисов? )
как добавление дополнительной сложности поможет уменьшить уже существующую сложность? )

Vladimir
10.07.2017
15:52:23
во вторых речь была про безопасность, а не уменьшение сложности

Vladimir
10.07.2017
15:53:40
внедрение строгой типизации само по себе не уменьшит сложность проекта

Aleksei
10.07.2017
15:55:07
Доброго дня. Здесь может есть кто-нибудь из команды, работающей на аутсорсе? Чтобы 4-5 Golang-человека сразу в наличии было?

Ashot
10.07.2017
15:55:50

Ruslan
10.07.2017
15:56:23

Vladimir
10.07.2017
15:56:40
хороший вопрос, особенно на канале про Golang :)

Ashot
10.07.2017
15:56:40
Go!

Ruslan
10.07.2017
15:56:50
ой шутники

Slava
10.07.2017
15:58:45

Google

Aleksandr
10.07.2017
15:59:41
а умеет gogland подсказать какой интерфейс имплментирует реализация? реализации умеет искать.

Artem
10.07.2017
16:02:12
K R A C U B O

Valentin
10.07.2017
16:10:15
Cmd+shift+b вроде
Или в edit или в navigate есть

Aleksandr
10.07.2017
16:14:46
Cmd+shift+b вроде
что-то не то. вот ctrl+u (super method) работает, но для func (a *ActionNode) String() string не показывает fmt.Stringer
но показывает два других интерфейса с таким же методом

Admin
ERROR: S client not available

Valentin
10.07.2017
16:15:13
Перейди к actionNode
И тыкай бинду на ней
Там, где определяется структура

Aleksandr
10.07.2017
16:16:56
не понял.

Valentin
10.07.2017
16:18:45
Type actionNode struct{}
Курсор на название структуры

Aleksandr
10.07.2017
16:19:34
выбираю Super и показывает те же два интерфейса
и не показывает fmt.Stringer

Valentin
10.07.2017
16:20:32
Приду домой попробую

jdc
10.07.2017
16:37:48
var palette = []color.Color{RGBA() (253, 224, 205, 1 uint32), color.Black}
консоль говорит "type uint32 is not an expression"
Какое ему выражение нужно?

Google

Aleksandr
10.07.2017
16:38:40
а зачем ты это передаешь?

jdc
10.07.2017
16:39:04

Valentin
10.07.2017
16:39:24
и не показывает fmt.Stringer
я проверил, действительно не показывает, хз почему. Причем наоборот показывает, что моя структура реализует интерфейс

Aleksandr
10.07.2017
16:39:30
что это вообще за выражение? ты по-моему путаешь декларацию стурктуры с ее использованием

jdc
10.07.2017
16:54:27
До какого знака GO может вывести число Pi?

Никита
10.07.2017
16:55:21

Aleksandr
10.07.2017
16:56:15

jdc
10.07.2017
16:56:51

Daniel
10.07.2017
16:57:05
это на самом деле вопрос о размерности float64
которая известна
и не имеет отношения к go

Valentin
10.07.2017
16:57:40
math.Pi смотрите

Vladimir
10.07.2017
16:58:24
А можно написать код, кастомные типы данных и т.п. и хоть до миллионного знака выводить :)

Kirill
10.07.2017
16:58:48

jdc
10.07.2017
16:59:53

Ashot
10.07.2017
17:00:39
Ага

Daniel
10.07.2017
17:02:06

Kirill
10.07.2017
17:04:41
почему? это же константа
Это если я правильно помню принцип float64, там же при возведении мантиссы в порядок(степень) и получается нужное число, но если просто взять вычисленное математически(не на компьютере) число Пи - последние цифры будут отличаться