Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the correct way to treat numbers in snake case?

If I want to write a phrase like "Column 1" in snake case (the usual C way of formatting identifiers that looks like some_function), do I insert underscore between a word or a number, like column_1, or not, like column1?

That may be a painfully trivial question, but I haven't been able to find a snake case definition that would answer this.

like image 940
Max Yankov Avatar asked Sep 19 '19 11:09

Max Yankov


2 Answers

I have only ever encountered specific documentation on this topic in one place - the Rubocop Ruby Style Guide (https://github.com/rubocop-hq/ruby-style-guide#snake-case-symbols-methods-vars-with-numbers)

It's probably safe to say there is not a clear winner in one approach over the other. One could also argue that the premise of the format is that: for a given string, all letters are lowercase and all spaces become underscores. By that standard you wouldn't format something column1 unless it started out as Column1.

Personally I prefer column_1 approach.

I find it easier to read, and easier to execute batch find/replace regex queries or to make multi-line edits in my text editor.

like image 76
dusthaines Avatar answered Oct 20 '22 01:10

dusthaines


I would like to cite Rust naming conventions:

In snake_case or SCREAMING_SNAKE_CASE, a "word" should never consist of a single letter unless it is the last "word". So, we have btree_map rather than b_tree_map, but PI_2 rather than PI2.

So write column_1.

like image 36
Evgeni Nabokov Avatar answered Oct 20 '22 01:10

Evgeni Nabokov