1,910
VoxelMap is now over 10,000 lines of code :-/
It passed this milestone during the course of a massive refactoring to eliminate cyclical and mutual dependencies. variables all set to private now, accessible via a getter (if one exists in the interface each of the main classes implements)
So was it worth it to eliminite mutual dependencies? There are upsides and downsides.
The code is now a bit more complex, though it should be easier for someone else to plug something in, or rewrite part of it (as long as it conforms to the interface). On the other hand, no one is likely to be doing that, and all the bits of the project are only every used within the minimap itself, so so what if they are stuck together?
In the end, what tilted me towards going with the interfaces and slight added complexity was embarrassment. I'll be making the code available (to my fellow VoxelDevs), finally. It's long overdue, but until now it's really been too hideous to be seen. It's still pretty bad: cyclomatic complexity is stupid high, averaging over 4 for the whole project (Minecraft itself averages only 2.65 D: ) At least now the architecture is like something that resembles thought out.
Giving the VoxelDevs a peek has the twofold purpose of perhaps improving things (really slowly at first, there are a ton of things addressed by the map that were not when I started work on it so it might take a while for people to be comfortable working with it), and ensuring the map will continue if I get hit by a bus (or just get bored of Minecraft). So there may be good things coming!
*EDIT* I never gave the code to Voxel Modpack devs as Voxel Modpack went away. Perhaps on Github at some point
It passed this milestone during the course of a massive refactoring to eliminate cyclical and mutual dependencies. variables all set to private now, accessible via a getter (if one exists in the interface each of the main classes implements)
So was it worth it to eliminite mutual dependencies? There are upsides and downsides.
The code is now a bit more complex, though it should be easier for someone else to plug something in, or rewrite part of it (as long as it conforms to the interface). On the other hand, no one is likely to be doing that, and all the bits of the project are only every used within the minimap itself, so so what if they are stuck together?
In the end, what tilted me towards going with the interfaces and slight added complexity was embarrassment. I'll be making the code available (to my fellow VoxelDevs), finally. It's long overdue, but until now it's really been too hideous to be seen. It's still pretty bad: cyclomatic complexity is stupid high, averaging over 4 for the whole project (Minecraft itself averages only 2.65 D: ) At least now the architecture is like something that resembles thought out.
Giving the VoxelDevs a peek has the twofold purpose of perhaps improving things (really slowly at first, there are a ton of things addressed by the map that were not when I started work on it so it might take a while for people to be comfortable working with it), and ensuring the map will continue if I get hit by a bus (or just get bored of Minecraft). So there may be good things coming!
*EDIT* I never gave the code to Voxel Modpack devs as Voxel Modpack went away. Perhaps on Github at some point
Tags |
2807907
6
Create an account or sign in to comment.
I know nothing about minecraft modding, but That sounds crazy lol
Well, keep up the good work!
acheviment earned: brain explosin!