I find myself too "naggy" or "redundant" in my codes. Does it even make sense?
It does. There is a trade-off between compact code (more code at a single screen), and clear explaining what code is doing. Within clear explaining (I consider that the more important one), there are many subtly different ways to achieve it.
There is no "one is good and all others are bad" here, there are a lot of good habits. They are different in their strong and weak points.
If you feel your code is too redundant, work on making it more compact. Likely, in some time you'll find your code is not redundant enough, and you work on that problem, adding a bit more redundancy, until you're happy with it again. It's a natural process, you're looking for the sweet spot in your code style, and your current style is not optimal, you found. Adapt, and try the new idea for a while to see if you like it. If not, change it again.
In my entire programming career, I have been tweaking my coding habits and style, it's still not done (likely never will be done), but the changes get smaller and less frequent.
Does long lines of codes decrease performance of a game?
Length of the line is not relevant at all. What is relevant, is what computations you perform. For example, doing a lot of small additions to a string in C# means you are creating a lot of intermediate strings that you immediately discard again. (Each "+" is performed separately, and you need the result of the previous addition exactly one time only.) That wastes time and space. In such a case you better use a StringBuilder, which is specifically designed for this case, it makes a lot less intermediate results.
See also https://msdn.microsoft.com/en-us/library/ms228504.aspx
The computer does what you tell it to do, so if you tell it to go to the other end of the street by going three miles in the opposite direction first, that's what it will do. Being clever in giving the computer directions what to do, is what counts. However, being clever is only needed in very few cases, all other cases (around 97+%) are irrelevant, the gain is too small to be worth the trouble.
In general, the best approach is to always write code that is as clear as possible, so you (or anyone else reading the code) can easily understand what happens. That solves your performance problem for about 97% (Cpu cycles are cheap, making the code easy to understand means you can work more efficient).
For the remaining 3%, you either don't care (You stop optimizing as it's "fast enough"), or you do care, but in that case, you cannot predict why it's slow (When I have such a problem, I always take a guess what is the problem, then I go and find out for real by profiling. My guess is always wrong, it is often something simple and stupid, you'd never consider to be a performance problem.)
As you cannot predict where a performance problem is going to appear, the quickest way to deal with it, is wait until you found you have such a problem, and then fix it.
what are the other ways to maintain a good habit in scripting games?
You're doing that already. Don't blindly stick with a habit, keep an eye on how you're doing, and at what areas you might be able to improve. If you find one, make that step, and improve.
Worst case, your idea was less good than you thought it would be. In that case, you can always revert back to the previous habit.
I don't consider reverting an idea as a failure. By trying, you have discovered why it doesn't work, which is useful knowledge that you gained for the future.