title: Identical package names in different folders for same project
body: <p>I'm working on a big project which will likely end up containing tens of thousands of line of code, for the current structure I do like this:</p>
  
  <pre><code>main.go
  controllers/NAME.go
  models/NAME.go
  </code></pre>
  
  <p>The problem with that is that the controllers and models directory contains a lot of files, all using <code>package controllers</code> and <code>package models</code>. I was therefore thinking about splitting it up like this:</p>
  
  <pre><code>main.go
  controllers/user/NAME.go
  models/user/NAME.go
  </code></pre>
  
  <p>Where the user files in the controllers package might contain files like <code>routes.go</code>, <code>profile.go</code>, etc.</p>
  
  <p>Now, I read that it's bad practice to name packages like <code>controllersUser</code> or <code>controllers_user</code>, but I worry it might be a bad idea to name both as <code>package user</code> since they're a part of the same project (even if they're located in different directories).</p>
  
  <p>What kind of naming structure would you recommend given my situation?</p>
  
  <p>I realize that the files located in controllers/user will not be able to interact with models/user even through they share the same <code>package user</code> name (unless I import of course), and I also know that I can easy import both as <code>userControllers "controllers/user"</code> and <code>userModels "models/user"</code>, but I wonder if it's a bad practice to do like this?</p>