|
|
|
|
|
by arthurschreiber
5040 days ago
|
|
Yes. Just check this model, for example: https://github.com/gitlabhq/gitlabhq/blob/master/app/models/... I'm pretty sure it should have it's attributes protected. Also, prepare to have to work with pretty confusing code. I don't want to belittle the work of the Gitlab authors and contributors, but the whole codebase is ignoring many Ruby, Rails, Webdevelopment and general programming best practices. A short list of problems, at least in my eyes, and in no specific order:
* Obtrusive JavaScript inside the erb templates, inline style definitions
* Non-semantic css class names.
* Highly confusing controller code (filters are used to set all kinds of instance variables, which makes it very hard to easily understand where the variable is coming from and what it's value is).
* "Roles": Code that has been extracted into seperate modules, but for no real reason. E.g. the SshKey module is only included into the Key class, and is highly coupled with it.
* Totally brittle test suite. |
|
In general I think that compared to the alternatives Gitlab is the least complex to understand and install. Of course that doesn't mean it is perfect or easy. These two lines took us a few hours: https://github.com/gitlabhq/gitlabhq/pull/1263
I think the Gitlab author already did an awesome job and luckily there are many people sending in pull request, already more than 1200!
We try contribute our part. With the growth of Gitlab.io our contributions should grow as well.