fix(robot): rare dot between handle words, prefer underscore #74

Merged
developer merged 1 commits from feature/robot-nick-separator into development 2026-06-16 14:20:37 +00:00
+11 -8
View File
@@ -140,20 +140,23 @@ func cyrillicNick() string {
return assembleHandle(form, noun.word)
}
// assembleHandle joins an adjective and noun into a handle: a bare noun, the two joined
// by "_" or "." or camel-cased, optionally followed by a trailing number. It keeps at
// most one separator so the result, the number aside, reads like a name a human could pick.
// assembleHandle joins an adjective and noun into a handle: a bare noun, the two
// camel-cased ("DarkWolf"), or joined by a separator. Between two meaningful words a human
// almost always uses "_" — a "." there is a rare tell — so the separator is an underscore
// far more often than a dot. An optional trailing number may follow.
func assembleHandle(adj, noun string) string {
var base string
switch rand.IntN(4) {
case 0:
base = noun
base = noun // a bare noun
case 1:
base = adj + "_" + noun
case 2:
base = adj + "." + noun
base = adj + noun // camel-cased
default:
base = adj + noun
sep := "_"
if rand.IntN(10) == 0 {
sep = "." // a dot between two words is rare
}
base = adj + sep + noun
}
if rand.IntN(2) == 0 {
base += nickNumber()