LINUX.ORG.RU

Что за идиотизм с импортами в гуланге?

 ,


1

6

Вот уже несколько говнореп смотрю и вижу внутри репы github.com/hipstor/cococo импорты вида: import github.com/hipstor/cococo/internal-lib/functions.

Т.е. это нормально, что при форке мне нужно будет каждый сраный файл проверять на наличие таких высеров?

Это норма, или хипсторы слишком недоразвиты, чтобы понять смысл ..?

Перемещено leave из desktop

★★★★★

Последнее исправление: derlafff (всего исправлений: 4)

Будь мужиком, пиши в машинных кодах.

KRoN73 ★★★★★
()
Ответ на: комментарий от derlafff

Понял, уточни в топике, я не понял мысли из первого сообщения.

Да, это феил.

Deleted
()
Последнее исправление: merhalak (всего исправлений: 3)

я не могу даже представить, чем руководствовались создатели языка когда запиливали эту фичу.

waker ★★★★★
()
Ответ на: комментарий от waker

руководствовались создатели языка

у них почти всё сделано по принципу 'как можно тупее и примитивнее', чтобы любой студент сходу разобрался. Студентам нраица

Debasher ★★★★★
()
Ответ на: комментарий от derlafff

язык две точки поддерживает

Толку то, если язык ориентирован на тех, кто не может/хочет читать много документации.

Debasher ★★★★★
()
Последнее исправление: Debasher (всего исправлений: 1)
Ответ на: комментарий от beastie

Кхм, недоразвитым выставляешь себя тут только ты, т.к. не осилил прочесть документацию.

https://golang.org/cmd/go/#hdr-Relative_import_paths

Как я понял он имеет ввиду что внутри репы люди имеют что-то включе

import "http:://github.com/user/that_repo/module"
вместо
import ./path/in/that/repo/module

anonymous
()
Ответ на: комментарий от beastie

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

derlafff ★★★★★
() автор топика
Ответ на: комментарий от waker

Причины введения-то понятны, но вот 1) нафига это делать так убого 2) разрешать это делать в пределах репы

Плюс, там что-то неадекватное с GOPATH

derlafff ★★★★★
() автор топика
Ответ на: комментарий от derlafff

Причины введения-то понятны, но вот 1) нафига это делать так убого 2) разрешать это делать в пределах репы

не знаю что такое «в пределах репы», но возможность прописывать зависимости на github прямо в исходниках — это не выстрел в ногу. это выстрел в голову. жаль, что в фигуральном смысле.

waker ★★★★★
()

Настолько не смочь в доступную документацию, что бы потом такое вот писать - лучше выбрать себе другой инструмент, что бы там всё устраивало и было ровненько.

iu0v1
()
Ответ на: комментарий от waker

не знаю что такое «в пределах репы», но возможность прописывать зависимости на github прямо в исходниках — это не выстрел в ногу. это выстрел в голову. жаль, что в фигуральном смысле

Не читал - но осуждаю.

iu0v1
()
Ответ на: комментарий от iu0v1

О, еще один, не умеющий читать.

derlafff ★★★★★
() автор топика
Ответ на: комментарий от waker

я не могу даже представить, чем руководствовались создатели языка когда запиливали эту фичу.

Dependency hell mitigation. KISS во всей красе. Не надо искать, кто от кого и как зависит. У каждого пакета свой однозначный путь.

beastie ★★★★★
()
Ответ на: комментарий от derlafff

FYI: относительные пути буду возможно совсем убранны в будущем.

Т.ч. да — «это норма». А ".." — экспериментальная фича.

И ещё: в golang нет «суб-пакетов». net/http — это не суб-пакет net, это пакет с именем net/http.

beastie ★★★★★
()
Ответ на: комментарий от beastie

У каждого пакета свой однозначный путь.

пока автор пакета не решит его переименовать или удалить, не?

waker ★★★★★
()
Ответ на: комментарий от waker

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

beastie ★★★★★
()
Ответ на: комментарий от iu0v1

Не читал - но осуждаю.

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

не могут же создатели go быть настолько тупы?

waker ★★★★★
()
Ответ на: комментарий от waker

Это еще херня. Большая часть го-софта, что я видел, тянет не просто депенды с гитхаба, а еще и без указания ветки (т.е. напрямую из мастера). В итоге у тебя в принципе никогда не может быть гарантии, что софтина соберется.

leave ★★★★★
()
Ответ на: комментарий от waker

Да, но мы ведь говорим о сторонних пакетах. (github.com/vasya/checkthisout_my_new_lib)

Стандартная библиотека (GOROOT) от github не зависит.

beastie ★★★★★
()
Ответ на: комментарий от leave

А как же тесты? ;) (Это одна из фишек языка, между прочим.) Соберётся — не значит, что будет работать. И, за нерабочий код в HEAD — надо отпиливать топталки по клаве ржавым usb-хабом.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от leave

Это еще херня. Большая часть го-софта, что я видел, тянет не просто депенды с гитхаба, а еще и без указания ветки (т.е. напрямую из мастера). В итоге у тебя в принципе никогда не может быть гарантии, что софтина соберется.

ну я все это еще с прошлого обсуждения этой же темы на лоре помню. полная жесть.

waker ★★★★★
()

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

anonymous
()
Ответ на: комментарий от beastie

А как же тесты? ;)

Бистя, это самое дебильное оправдание говнорукости разработчиков на Go которое я только видел.

hateyoufeel ★★★★★
()
Ответ на: комментарий от leave

там нет возможности указать ветку. только мастер, только хардкор

anonymous
()
Ответ на: комментарий от beastie

Да, но мы ведь говорим о сторонних пакетах. (github.com/vasya/checkthisout_my_new_lib)

какая разница какой пакет, сторонний, или не сторонний, если программа в любом случае перестанет собираться?

waker ★★★★★
()
Ответ на: комментарий от beastie

Да, но мы ведь говорим о сторонних пакетах. (github.com/vasya/checkthisout_my_new_lib)

Ну сделали бы нормальную систему по типу maven\rebar\и т.п.. Зачем в исходники тащить эти пути? А если мне нужна своя версия checkthisout_my_new_lib, мне что мне все исходники придётся править?)

Такие вещи должны быть собраны в проектном файле и меняться в зависимости от хотелок пользователей либы.

Norgat ★★★★★
()
Ответ на: комментарий от beastie

Т.ч. да — «это норма».

Fin. Дожили.

derlafff ★★★★★
() автор топика
Ответ на: комментарий от waker

На той машине, на которой софтина собиралась раньше, она продолжит собираться. С твоей-то машины код никто не удалял.

К тому же в актуальной версии поддерживается вендоринг зависимостей.

feofan ★★★★★
()
Последнее исправление: feofan (всего исправлений: 1)

Компилятор не даст тебе скомпилить

import "../blah"
Можешь провести эксперимент.

feofan ★★★★★
()
Ответ на: комментарий от beastie

To avoid ambiguity, Go programs cannot use relative import paths within a work space.

to avoid ambiguity

Погоди, они все-таки упырки

derlafff ★★★★★
() автор топика
Ответ на: комментарий от feofan

Судя по документации, потому что я игнорирую этот их упырский GOPATH, ибо кодить в ~/go/github.com/derlaft/x/ совсем не круто.

1.5.3

derlafff ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

А как же тесты? ;)

Бистя, это самое дебильное оправдание говнорукости разработчиков на Go которое я только видел.

А как же

beastie> за нерабочий код в HEAD — надо отпиливать топталки по клаве ржавым usb-хабом.

?

tailgunner ★★★★★
()

Что за идиотизм с импортами в гуланге?

Это, к сожалению, норма. И это не единственный идиотизм в этом говноязыке.

anonymous
()
Ответ на: комментарий от derlafff

Разные. Зависит от того, какими инструментами ты пользуешься. Если писать в блокноте проблем не будет. Только, ИМХО, это мазохизм.

feofan ★★★★★
()

Это норма, или хипсторы слишком недоразвиты, чтобы понять смысл ..?

this

use http://getgb.io/, Luke

Stribog
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.