In-reply-to » @prologic and others may I ask you to review some code? https://git.envs.net/cblte/golang-webapp/releases/tag/0.7 It is not finished yet, but I think I am on a good way. Still needs some polishing. WebDev is actually new to me with all the status codes and stateless things and everything. So feedback would be appreciated. Using Redis because it was easy to setup and to implement. Actually want to use SQLite or something else, but Redis seems to do the job for now.

@carsten@yarn.zn80.net I only had a quick look and this is all in no particular order:

  1. I’m sure go fmt would add a space after the comment marker //.
  2. Go doc strings are supposed to start with the name of the variable etc (I’m not a fan of this, either).
  3. Sometimes log.SetPrefix(…) ends with a space, sometimes not.
  4. Some messages start capital, some don’t.
  5. Typo: occurred with double r.
  6. On lots of errors no appropriate status code is set.
  7. Some err can be scoped in the if like that: if err := foo(); err != nil { … }
  8. The <title>s could be improved.
  9. I have no idea about redis, but rclient.Set("user:"+username, …) looks suspicious to me and reminds me of SQL injections.
    10.
cookie, err := r.Cookie("session_token")
if err != nil {
    if err == http.ErrNoCookie { … return }
}

doesn’t look complete. Also handle other errors? Or simplify without nil check.

⤋ Read More