File: STYLE

package info (click to toggle)
golang-github-burntsushi-xgb 0.0~git20210121.deaf085-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 2,100 kB
  • sloc: makefile: 61
file content (29 lines) | stat: -rw-r--r-- 1,406 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
I like to keep all my code to 80 columns or less. I have plenty of screen real 
estate, but enjoy 80 columns so that I can have multiple code windows open side 
to side and not be plagued by the ugly auto-wrapping of a text editor.

If you don't oblige me, I will fix any patch you submit to abide 80 columns.

Note that this style restriction does not preclude gofmt, but introduces a few
peculiarities. The first is that gofmt will occasionally add spacing (typically 
to comments) that ends up going over 80 columns. Either shorten the comment or 
put it on its own line.

The second and more common hiccup is when a function definition extends beyond 
80 columns. If one adds line breaks to keep it below 80 columns, gofmt will 
indent all subsequent lines in a function definition to the same indentation 
level of the function body. This results in a less-than-ideal separation 
between function definition and function body. To remedy this, simply add a 
line break like so:

  func RestackWindowExtra(xu *xgbutil.XUtil, win xproto.Window, stackMode int,
    sibling xproto.Window, source int) error {

    return ClientEvent(xu, win, "_NET_RESTACK_WINDOW", source, int(sibling),
      stackMode)
  }

Something similar should also be applied to long 'if' or 'for' conditionals, 
although it would probably be preferrable to break up the conditional to 
smaller chunks with a few helper variables.