Closed FaragElsayed2 closed 1 year ago
@proppy About this issue, the thinking that I have about this is that those restrictive rules are very hard to meet. Given that the target of this linting is for ruby code that is used for web applications not similar to what we are doing here in Klayout DRC. Klayout is designed to use ruby differently. We will have to make large changes in the code that would take a lot of time to meet.
Shall we drop this issue given that we meet most of the other issues?
Let's at least make an audit of the current rules and document why they don't apply.
MethodLength
, UselessAssignment
, BlockNesting
and VariableName
seems like good thing to enable at first, but maybe there are other gotchas?
I can understand whyGlobalVarsand
AbcSize` might be problematic due to the very nature of macros.
@FaragElsayed2 Could you assess and document which rules that we disabled here? Also, see the impact opening the rules that @proppy mentioned.
@atorkmabrains
List of disabled rules:
GlobalVars
UselessAssignment
Metrics/AbcSize
Metrics/MethodLength
RSpec/VariableName
Metrics/BlockNesting
I will check the possibility of enabling each one of them.
Those rules are very hard to meet for the coding style we use specifically in the current use case. We made some trials, I believe we were able to get away with some, but still we are facing others.
@atorkmabrains let's re-assess this priority then and revisit later?
I'm also happy to contribute here, my ruby is a little bit rusty but I think I can help!
Enabling more restrictive rubocop rules in ruby linting