LINUX.ORG.RU
ФорумTalks

Сколько вас таких тут было: «Хочу сдать программистом! Какой golang выбрать для начала?»

 


2

5

хочу, значит, что-нибудь написать на golang, но есть проблема — лень даже начинать.
на этом многие остановят чтение и начнут писать комменты, но! я выяснил причину этой лени — неопределенность на самом первом этапе.
нигде не пишут и не рассказывают о правильной экосистеме, нет простейшего roadmap, хотя «язык для школьников», почему бы не разжевать для ЦА вроде меня?
поможете составить план по написанию helloworld?

VCS                    gitea
code quality           sonarqube
IDE                    IntelliJ-some
unit testing           ? go test      ?
build system           ? go build     ?
code complexity        ? NaN
code smells            ? go vet       ?
code coverage          ? go test      ?
etc*
наверняка что-то забыл, в общем помогите написать первое приложение на го, так, будто уже 34 года опыта разработки на нём, а не в sublime text.

пока делаю выводы неутешительные. просто так информации не получить. как можно видеть из таблички, го — вещь в себе, уверен, что многое можно автоматизировать или интегрировать в существующие механизмы.
такие термины как:
continuous integration
continuous delivery
continuous code quality
нелегко нагуглить в контексте golang. что-то от меня скрывают? до всего доходить самому?

★★★★★

Последнее исправление: system-root (всего исправлений: 1)

IDE - GNU Emacs

Выкачать зависимости - go get -t ./...

Тесты - имя_test.go

Пост больше на вброс похож.

Difrex ★★★★
()

VCS

git(github)

code quality

errcheck

IDE

vim/gogland/vscode

unit testing

go test

build system

go build

А вообще в the go programming language все хорошо расписано, включая стандартные утилиты.

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

Вброс среднего качества. на https://golang.org/ всё есть

Какое отношение VCS имеет конкретно к Go?

IDE: любой текстовый редактор, плагин vim-go очень крут

юнит тестинг - штатная библиотека

система сборки - не нужна, go build всё делает. если нужно что-то сложнее, то make более, чем достаточно

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

на https://golang.org/ всё есть

я не нашел там ничего полезного про экосистему, про сам синтаксис языка мне пока не интересно
вот и выходит — любой редактор и вперёд, писать. из воркспейса — https://golang.org/doc/code.html только про директории.

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

«экосистема» - про что именно на примере другого языка? Если бы я только сейчас начинал, в том же Python мне было бы сложнее разобраться, чем в Go

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

возьмём groovy:
gmetrics — code complexity metrics
codenarc — analyzes code for defects, bad practices
jacoco — code coverage
spockframework — testing and specification framework

ты ещё язык не выучил, написал helloworld, а уже по пальцам бьют за лишние пробелы, сложность кода и плохое покрытие тестами.
а вы говорите «я вбросил» и предлагаете vim

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

gmetrics — code complexity metrics

Здесь, к сожелания, не знаю. Никогда не использовал

codenarc — analyzes code for defects, bad practices

go vet

jacoco — code coverage

go test -cover

spockframework — testing and specification framework

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

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

а вы говорите «я вбросил» и предлагаете vim

Ну вот поэтому я написал про плагин vim-go, который может автоматом запускать goimports/gofmt. Про стандарты кода есть тоже на офиц. сайте

для этого наверное и придумали build system? чтобы оно всё сделало само?

make меня лично устраивает на 100%. Но никто не мешает использовать любую другую систему. Не обязательно, чтобы она была написала на том же языке, программы на котором собирает.

paganmind
()
Ответ на: комментарий от system-root

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

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

code complexity metrics

Здесь, к сожелания, не знаю. Никогда не использовал

вообще самая важная вещь, как по мне. иначе в «порыве мысли» такое натворить можно и тебя некому остановить.

system-root ★★★★★
() автор топика
Последнее исправление: system-root (всего исправлений: 1)

Эм, тщательный подбор тулинга перед написанием первых проектов скорее напоминает процесс настройки стула и чистки компьютера перед написанием диплома. Оно конечно поможет, но приоритеты очевидно раставлены не верно. Собирать можно и встроенным go build, а писать в любом более-менее адекватном редакторе. Я вот vim с тонной плагинов гоняю, не плохо, хотя IDE от JetBrtains тоже более чем хороша. Меня вот например больше беспокоит то что для сабжа я не могу придумать адекватный проект который не было бы логичнее написать на каком-нибудь питоне. Даже (особенно) веб-приложения. А для работы его использовать - я его слишком плохо знаю. Пока что фантазии хватило на многопоточную выгрузку картинок.

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

Так тематика вопроса популярная. Раньше писали Hello World! в текстовом редакторе, потом наращивали знания, осваивали стандартную библиотеку, а сейчас нужны «code complexity metrics», хотя даже с синтаксисом никто не разобрался. А в Go нет метаклассов и при прямых руках не будет фабрик. Решаем проблему еще до её возникновения.

paganmind
()
Ответ на: комментарий от system-root

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

А людям не нравится Rust. Там такое из коробки.

RazrFalcon ★★★★★
()
VCS                    git
code quality           go vet / golint
IDE                    vim + vim-go
unit testing           go test
build system           go build
beastie ★★★★★
()
Ответ на: комментарий от menangen

кидайте джаву и груви

так вроде груви уже кинули, не? Хотя кажись не, но чё-то помню что груви кто-то откуда-то дропал.
Хотя это тоже интересно: Стрэчен покинул проект за год до релиза Groovy 1.0 в 2007 году, а в июле 2009 года Стрэчен написал в своём блоге, что возможно не создал бы Groovy, если бы в 2003 году прочитал книгу Мартина Одерского с соавторами о программировании на языке Scala (вышедшую в 2007 году)

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

gogland называется от Idea

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

system-root ★★★★★
() автор топика
Ответ на: комментарий от menangen

кидайте джаву и груви и бегите на недоязычки

С одних недоязычков на другие? Ты упоролся?

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