2016-01-26 4 views
0

Мне нравится называть мои типы с использованием чехла Pascal - начиная с буквы верхнего регистра. В Go это означает, что имя экспортируется.Соглашение об именах для имен не экспортируемых типов в Go

Чтобы избежать экспорта, я начал префикс имени типа с помощью undercsore вместо нижней буквы первой буквы.

E.g: Вместо type Column struct{}, я использую type _Column struct{}, чтобы избежать экспорта.

Я не видел эту схему именования, но не нашел причин не использовать ее.

С golint принимает это без жалобы, я думаю, это в порядке?

Заключение: Основываясь на ответах и ​​комментариях, я решил остаться с именами с более низкими именами.

+1

Единственное определение ОК, которое здесь соответствует, - «goling принимает его без жалобы» *. Как насчет следующего использования, вместо того, чтобы пытаться воспроизвести то, что вы сделали на другом языке? –

+5

Когда в Риме делают, как делают римляне! Просто используйте имена в нижнем регистре. –

+2

Почему не просто 'column'? Поскольку эти имена не показаны, это не имеет особого значения, но я не думаю, что кто-то предпочел бы '_Column'' 'column'. Не говоря уже о том, что автозаполнение проще, когда все невыполненные идентификаторы * не начинаются с того же символа. –

ответ

4

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

Это не указано в Names section of the style guide, но на основании того, что подчеркивания обычно обескуражены, я бы сказал, что использование _Column в лучшем случае не идиоматично.

1

«Я люблю» и не делаю супер смешивание.

Есть идиоматические биты и инструменты, исполняемые битами.

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

Я считаю, что это один из лучших атрибутов go.

Уверенный, каналы и goroutines хороши.
Легко быть в состоянии прочитать кодовую базу часто гораздо ценнее.