EnderWiggin wrote:I'd like to see some examples of my awful and unnecessary refactoring of loftar's stuff. While, yes, some code in there is even from before haven was 3d and was written while I was very new to both java and how the client works and I should rewrite all client features from scratch, I try to not touch loftar's code too much unless necessary, specifically to ease merging his changes in the future.
I can't find for the life of me the one feature I had to add that REALLY made me hate your code and love cediner's, shubla's, romovs', and ardennes' a lot more, but basically I had to choose between:
- importing 3 new classes that depend on another 2 new classes and change 500 lines and break other things cause you also changed some of loftar's code and are also missing some random code cause you handled it in a different way (I'm exaggerating a bit here)
OR
- add 5 new lines of code from cediner or ardennes (I am not exaggerating here)
Mind you, those new classes you were adding were not being used in any other places IIRC
I'm not even talking about your old code "that might be there since before 3d hafen". This involved some new code.
There's tons of things you refactor and change and it makes looking through your code even more complicated. On top of learning loftar's code base, I would have to learn all of your changes and refactoring as well, figure out which parts of loftar's code you didn't merge, which parts you changed, what's missing, what's extra.
For example you create new classes that might or might not extend the already existing ones, and if loftar changes something, it might be easier for you to merge his changes cause "no conflicts", but then won't classes like CraftDBWnd, DecoX, FightWndEx, MapWnd2, WindowX, ExtInventory just break other things because you didn't have any conflicts to look at in your merges, but stuff changed and you're trying to expand on old stuff?
There's stuff like WindowX extends Window, and Hidewnd extends WindowX, and CraftWindow extends GameUI.Hidewnd.
But sometimes you don't even add loftar's stuff (that he continues to build on even). Can we call that a good alternative to merge conflicts?
I know you added features that loftar eventually finally accepted to add LONG BEFORE he even considered them. You had keybindings long before loftar even started working on them.
started implementing key binding config Ender Wiggin 26/08/2016 14:33 PM
Added keybinding panel to options. Fredrik Tolf 19/09/2019 04:18 AM
But you never merged loftar's new keybindings, which are much easier to deal with and better imo. I know loftar RARELY adds a custom client feature and makes it better. I know it sucks when loftar changes stuff that breaks your things.
I know it's annoying when he adds a feature you added and somehow completely breaks your feature. But at this point one third of your client feels like it's either missing loftar's stuff, or you've just done it in a different way. But loftar continues to build on his client using his code, not yours.
Neither you, nor loftar, nor cediner, nor shubla are bad coders.
But GOD I just hate the way you and loftar code stuff compared to others, and I sincerely believe having to deal with 2 of you at the same time, rather than just one at a time, would make it significantly harder for me, a fucking scrub, who barely learned this stuff.