more naming specs for style guide
diff --git a/STYLEGUIDE.md b/STYLEGUIDE.md
index 4cc84f6..18f6dc4 100644
--- a/STYLEGUIDE.md
+++ b/STYLEGUIDE.md
@@ -11,7 +11,9 @@
   are not good enough. The link(s) should be to a non-`master` branch. For example,
   a pull request implementing the creation of a Neutron v2 subnet might put the
   following link in the description:
+
   https://github.com/openstack/neutron/blob/stable/mitaka/neutron/api/v2/attributes.py#L749
+
   From that link, a reviewer (or user) can verify the fields in the request/response
   objects in the PR.
 
@@ -37,3 +39,30 @@
   own infrastructure and see an example of usage.
 
 - If in doubt, ask in-line on the PR.
+
+### File Structure
+
+- The following should be used in most cases:
+
+  - `requests.go`: contains all the functions that make HTTP requests and the
+    types associated with the HTTP request (parameters for URL, body, etc)
+  - `results.go`: contains all the response objects and their methods
+  - `urls.go`: contains the endpoints to which the requests are made
+
+### Naming
+
+- For methods on a type in `response.go`, the receiver should be named `r` and the
+  variable into which it will be unmarshalled `s`.
+
+- Functions in `requests.go`, with the exception of functions that return a
+  `pagination.Pager`, should be named returns of the name `r`.
+
+- Functions in `requests.go` that accept request bodies should accept as their
+  last parameter an `interface` named `<Action>OptsBuilder` (eg `CreateOptsBuilder`).
+  This `interface` should have at the least a method named `To<Resource><Action>Map`
+  (eg `ToPortCreateMap`).
+
+- Functions in `requests.go` that accept query strings should accept as their
+  last parameter an `interface` named `<Action>OptsBuilder` (eg `ListOptsBuilder`).
+  This `interface` should have at the least a method named `To<Resource><Action>Query`
+  (eg `ToServerListQuery`).