@gogolang

Страница 1051 из 1630
The
07.05.2018
16:17:57
Медленные относительно го в принципе, или относительно других языков?
Медленно относительно других языков. В Go нативная имплементация.

Daniel
07.05.2018
16:18:17
Медленные относительно го в принципе, или относительно других языков?
по совокупности обычно выходит быстрее, чем в перле-пхп-питоне

Pawel
07.05.2018
16:18:28
недавно обнаружил, что в vscode c плагином микрософта - внезапно! - можно жить, и весьма комфортно

Daniel
07.05.2018
16:18:38
но сами регулярки - да, помедленнее

Google
Daniel
07.05.2018
16:18:50
зато не зависят от объема входных данных

Daniel
07.05.2018
16:19:20
в js же те же pcre

The
07.05.2018
16:19:33
https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/regexredux.html вот в кратце, если про синтетику

The
07.05.2018
16:34:30
помоему, все лучше liteide

Александр
07.05.2018
17:25:45
Сегодня днем мне посоветовали storm заместо sqlite, вообщем результат такой на 5200 идентичных данных размер базы в 8 раз больше у storm однако скорость чтения на треть выше

Это я так мало ли кому интересно

Идентичных записей*

Pawel
07.05.2018
17:31:53
скорость чтения в sqlite - это такая штука, которая зависит от дохера чего, нет смысла говорить о ней как о коне в вакууме

Diasko
07.05.2018
17:33:22
Diasko: Народ подскажите на счёт либо для клиента WSDL/SOAP, на гидхабе нашел надо тестить, может кто работает с ними

Google
Alexander
07.05.2018
17:52:42
Diasko: Народ подскажите на счёт либо для клиента WSDL/SOAP, на гидхабе нашел надо тестить, может кто работает с ними
ничего не понятно. если нужна тулза, чтобы дернуть SOAP-сервис - скачайте SOAP UI. если нужен кодогенератор , чтобы сделать клиента по готовой всдл - ну погуглите. вот, сходу https://github.com/hooklift/gowsdl

Altai
07.05.2018
19:39:02
https://blog.golang.org/package-names Все другие статьи, которые затрагивают правила хорошего тона именования пактов, в целом тоже сводятся к тому, что нужно выбирать короткие лаконичные имена, не использовать under_score или camelCase. Да, вроде бы и всё верно, но до сих пор никак не могу смириться с этим положением дел. Мне одному так сложно порой придумывать имена, которые должны в одно слово действительно передавать всю суть пакета? В вопосах по этой теме на stackoverflow, все отвечающие гордо объясняют, что, мол, если у вас не выходит назвать лаконично одним словом пакет, то у вас плохая архитектура и вообще... Вот только ощущение, что никто из них не пробовал поддерживать проекты, где количество пакетов исчисляется не десятками.

Вот, скажем, в книжке Донована и Кернигана The Go Programming Langugage, в одном из примеров, пакет именуют "tempconv". Говорится, что temperature - слишком длинное имя, не дающее понимание, что делает пакет. //Ок, пожалуй, так и есть Также объясняется, что "temp" всё-таки очень плохой вариант: слишком короткое и неочевидное имя. //Да неужели??? Имена из рода ~temperatureConverter даже не рассматриваются (оно и понятно, camelCase "нельзя", а без него, полностью нижним регистром, конечно же, будет нечитабельно). В итоге останавливаются на tempconv. Мол, и ясно что делает пакет, и короткое имя. Да, в рамках примера всё круто, и сперва кажется, что tempconv - отличное имя для пакета. Вот только вся эта лаконичность с лихвой аукается в проектах (или группе проектов), где количество пакетов близится к сотне. И тогда хочется иметь старые, добрые, "тупые java-имена" и "плохую архитектуру".

Довольно часто появляются мысли о том, как удобно было бы вот сейчас взять и таким-то camelCase-именем озаглавить пакет, их не отогнать просто. Понимаю, что underscore используется длля сборки под определенную архитектуру, ОС. Хорошо, нет проблем. Но дико, неистово интересно, что именно подтолкнуло к запрещению camelCase-имен? Технически, как понимаю, никаких преград ведь не было?

Dmitry
07.05.2018
19:43:36
стремление к единообразию наверно

Max
07.05.2018
19:43:45
единоужасию

Dmitry
07.05.2018
19:48:24
Вот, скажем, в книжке Донована и Кернигана The Go Programming Langugage, в одном из примеров, пакет именуют "tempconv". Говорится, что temperature - слишком длинное имя, не дающее понимание, что делает пакет. //Ок, пожалуй, так и есть Также объясняется, что "temp" всё-таки очень плохой вариант: слишком короткое и неочевидное имя. //Да неужели??? Имена из рода ~temperatureConverter даже не рассматриваются (оно и понятно, camelCase "нельзя", а без него, полностью нижним регистром, конечно же, будет нечитабельно). В итоге останавливаются на tempconv. Мол, и ясно что делает пакет, и короткое имя. Да, в рамках примера всё круто, и сперва кажется, что tempconv - отличное имя для пакета. Вот только вся эта лаконичность с лихвой аукается в проектах (или группе проектов), где количество пакетов близится к сотне. И тогда хочется иметь старые, добрые, "тупые java-имена" и "плохую архитектуру".
а можно увидеть примеры пакетов где ты не можешь выбрать название ?

Vladimir
07.05.2018
19:50:11
Вот, скажем, в книжке Донована и Кернигана The Go Programming Langugage, в одном из примеров, пакет именуют "tempconv". Говорится, что temperature - слишком длинное имя, не дающее понимание, что делает пакет. //Ок, пожалуй, так и есть Также объясняется, что "temp" всё-таки очень плохой вариант: слишком короткое и неочевидное имя. //Да неужели??? Имена из рода ~temperatureConverter даже не рассматриваются (оно и понятно, camelCase "нельзя", а без него, полностью нижним регистром, конечно же, будет нечитабельно). В итоге останавливаются на tempconv. Мол, и ясно что делает пакет, и короткое имя. Да, в рамках примера всё круто, и сперва кажется, что tempconv - отличное имя для пакета. Вот только вся эта лаконичность с лихвой аукается в проектах (или группе проектов), где количество пакетов близится к сотне. И тогда хочется иметь старые, добрые, "тупые java-имена" и "плохую архитектуру".
AbstractUserInfromationInterfaceFactoryFactory?

Altai
07.05.2018
19:51:02
Да так-то называю "правильно", но всё-таки порой кажется, что куда лучше называть где-то camelCase, так как без сокращений всё-таки меньше вероятность как-то не так понять что делает пакет, меньше искать нужный пакет нужно.

Dmitry
07.05.2018
19:51:38
AbstractUserInfromationInterfaceFactoryFactory?
пакет из одного интерфейса?

Dmitry
07.05.2018
19:54:45
uinfofty

следующий

Altai
07.05.2018
20:00:00
Да тот же tempconv из книжки. Никогда нельзя случано не так понять, что делает пакет "temperatureConverter", а tempconv - можно воспринять иначе, сложнее найти в списке пакетов нужный глазами. Особенно это всё проявляется с именами, где есть созвучие или скрытый другой смысл (вроде tmp, temp). Скажем, вот сейчас натыкался на сервис для генерации/редактирования определенного вида моков для API. Пакет с именем "mock" можно воспринять не совсем так, как нужно. //Думаю, всем понятно. В итоге mockgen или mocked вроде как "правильные" имена. Но мне вот не жалко было бы дописать 4 символа, чтобы получить предельно понятное всем, сразу, в любом контексте "mockEditor".

Sergey
07.05.2018
20:01:07
а почему бы не snake_case?

Altai
07.05.2018
20:03:33
а почему бы не snake_case?
Читайте первые сообщения. > https://blog.golang.org/package-names Ни camelCase, ни snake_case не рекомендуются. Но snake_case хотя бы понятно почему (используются суффиксы определенные в именах, вроде _linux, _arm64 и так далее, для сборки под соответствующую платформу), а вот с camelCase что мешает - неясно.

Sergey
07.05.2018
20:06:09
> Ни camelCase, ни snake_case не рекомендуются да это-то понятно, я просто предлагаю > суффиксы определенные в именах, вроде _linux, _arm64 (да, я знаю, что это так, но..) звучит сомнительно, как будто не смогли другого способа резолвить платформы

> а вот с camelCase что мешает - неясно. очевидно же! — слишком похоже на с++

Google
Altai
07.05.2018
20:06:51
Ну, по-моему тут без разницы, camelCase или snake_case. Лишь бы можно было хотя бы два слова полных поставить рядом. А ни то ни другое - нельзя. И куда податься? :(

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

Dmitry
07.05.2018
20:12:56
If you cannot avoid a bad name, it is very likely that there is a problem with your overall structure and code organization.

Dmitry
07.05.2018
20:17:03
temporary_convolution
и что же делает этот пакет?

Sergey
07.05.2018
20:17:26
я знал, что ты спросишь!

Nurzhan
07.05.2018
20:17:48
Временно сворачивает?

Sergey
07.05.2018
20:17:57
а package types не напрягает, не? :)

Sergey
07.05.2018
20:18:08
но допустим пакет будет называться temporal_convolution и будет вычислять эту темпоральную конволюцию

Sergey
07.05.2018
20:19:20
ммм, как классно читается

Nurzhan
07.05.2018
20:19:54
temporalutil
"времЕнные утилиты"

Dmitry
07.05.2018
20:24:44
придумывая абстрактные имена вы получаете абстрактные короткие имена

давайте рассматривать реальные примеры

Sergey
07.05.2018
20:29:06


Altai
07.05.2018
20:32:34
давайте рассматривать реальные примеры
Ну, mockEditor тот же, выше писал. "Правильное" имя тут явно проигрывает в информативности.

Dmitry
07.05.2018
20:35:29
Ну, mockEditor тот же, выше писал. "Правильное" имя тут явно проигрывает в информативности.
а что за mockeditor ? мне вот непонятно - это действительно редактор ? а что он делает в пакетах ?

Altai
07.05.2018
20:37:04
//Ну, если быть точным, mockgen - пакет, mocked - редактор, приложуха отдельная.

Google
Dmitry
07.05.2018
20:37:58
ну он имеет отношение к мокам или это рандомное название ?

Altai
07.05.2018
20:38:49
Всё имеет. Ну, там mockgen/mocked нормальные названия, просто к тому, что два слова читаются и воспринимаются легче одного с сокращениями. Особенно когда кто-то со стороны заглядывает.

Кстати, по поводу именования директорий: её имя же всегда совпадает в итоге с именем пакета. Делать другие - сопоставления нужно тогда держать в голове. Делать те же - неудобно просматривать структуры проектов, больно уж лаконично могут называться некоторые.

Dmitry
07.05.2018
20:41:35
окей я понял. но описание того что делает пакет полностью в имени - это не есть гуд. для этого есть документация

Altai
07.05.2018
20:42:03
Насколько хорошо массовое разъезжание между именами пакетов и именами директорий иметь? :)

Dmitry
07.05.2018
20:42:05
тебе нужно имя которое ассоциировалось бы с тем что делает пакет а не полностью описывает его

думаю это очеь плохо

Altai
07.05.2018
20:43:12
Просто если в коде ещё норммально mockgen использовать, то тому, кто просматривает структуры репозиториев явно удобнее понять, что к чему, по именам директорий. Но начать делать разные - плохо, согласен. Потому что слой сопоставления имен директорий с именами пакетов нужно в голове держать разработчикам.

Dmitry
07.05.2018
20:43:19
людям придется держать в памяти и названия директорий и названия пакетов

Admin
ERROR: S client not available

Altai
07.05.2018
20:44:16
Всё так. Но вот куда податься-то теперь? БТВ, довольно часто встречаются большие проекты, которые забивают на всё и используют несколько слов в именах директорий. После этого как-то и самому не стыдно станвоится. ;)

Sergey
07.05.2018
20:45:26
Dmitry
07.05.2018
20:46:58
ed не настолько популярен чтобы путать с ним

и что то мне подсказывает что слово editor в пакете не есть правильно. это больше название для готового приложения а не для пакета

Altai
07.05.2018
20:50:36
Всё так, я же писал выше, ed - собирается в приложуху, а переиспользуемый пакет, он с gen.

Но если использовать именование директорий в стиле пакетов, там та же проблема. Если нет - проблемы нет, но уже и соблазн на какие-то пакеты "неправильные" имена директорий распространить. Так и происходит в итоге. :)

Dmitry
07.05.2018
20:52:16
ну для готового приложения мне кажежтся можно использовать и MockEditor

ага, теперь я понял

да есть неясность в этом плане.

но вот смотри https://github.com/golang-standards/project-layout/tree/master/cmd здесь запросто используют подчеркивания

Google
Nazary
07.05.2018
20:55:09
routes.PathPrefix("/dist").Handler(http.FileServer(http.Dir(CONF.WorkDir + "status/"))) ребзя

есть такой движ

как сделать что бы файл с status/dist/build.js был доступен по assets228/build.js

Altai
07.05.2018
21:03:30
но вот смотри https://github.com/golang-standards/project-layout/tree/master/cmd здесь запросто используют подчеркивания
У influx ещё есть два варианта наименований директорий, в отличие от других из примеров. Если честно, не совсем понимаю, по какому принципу они выбирают подчеркивание использовать или дефис (influx-tools, influx_inspect).

Dmitry
07.05.2018
21:04:34
наверняка стоит избегать - в названии - потому что может быть принято за флаг

Altai
07.05.2018
21:06:47
Не, за флаг не будет принято. :)

Dmitry
07.05.2018
21:08:15
почему нет? при быстром взгляде трудно заметить есть там пробел перед дефисом или нет . сравни (influx-tools) и (influx -tools) при взгляде со стороны пользователя

Sergey
07.05.2018
21:09:58
пользователь не знает про флаги

Altai
07.05.2018
21:10:12
Просто есть пакеты, где люди используют и camelCase, видел, где делали подчеркиванием, где-то дефисом, но везде что-то одно. А Influx отличается просто тем, что тут несколько вариантов сразу. Будто это не вопрос предпочтения, а глубинный смысл есть, который я не уловил пока.

Sergey
07.05.2018
21:10:48
и?
он не будет воспринимать, есть там пробел, или нет ему пофигу

Alexandr
07.05.2018
21:10:49
коллегия, 1) что думаете про фреймворки? https://blog.usejournal.com/top-6-web-frameworks-for-go-as-of-2017-23270e059c4b 2) юзаете ли какие-либо не-веб фреймворки?

Sergey
07.05.2018
21:11:13
он не будет воспринимать, есть там пробел, или нет ему пофигу
пользователь сам не будет писать никакие флаги

Altai
07.05.2018
21:12:30
Понимаю, но всё равно должны же быть соглашения какие-то, с учетом, что это в той же иерархии вместе с пакетами лежит.

Sergey
07.05.2018
21:12:47
да ладно ? а если я пишу флаги я уже не пользователь ?
у пользователей, которые сами пишут флаги, уже набит глаз на пробелы

Страница 1051 из 1630