Brewmeister wrote:
The reality is... there are a lot of autonomous scripters who are not professional programmers, so they don't see the beauty.
Haha, I like how you just take a jab at everyone that disagrees with you.
I hate to step on your rainbow walkways and lollipop trees, but just because something is "for the community" doesn't mean it's actually a good thing. The fact of the matter is, this was done poorly.
Let's take a look at some of the things this SDK does:
Modifies Object class -- This is something someone does when they are just learning about inheritance and they think "Yeah! I can modify all the classes I need to at once!" I
really hope I don't have to explain to you why this is bad, but I will just in case.
When you do something like this, you are saying right there "I don't care if this is compatible with anything else." In this particular case, the changes they made are unlikely to actually cause issues, but that's a gamble you should never take because you don't have to. Ruby already provides exactly what they wanted. It's called mixins. It's what Ruby has instead of multiple inheritance. They can create the module that does what they wanted, and then "include" it in each of the individual classes they wanted to change.
Pulls single lines out to functions -- You aren't supposed to pull out to a function every single line you think someone might want to modify. Especially when you end up with long function names that don't actually make sense.
For example, item_effect_damage does both damage and recovery, and it takes input values named recovery_*. In this case, they literally just cut and pasted RTP Script lines and put them into poorly named functions. Then you have item_effect_guard_correction or item_effect_effective_correction each of which are single lines that should not be seperated out like that. Pulling things out to functions are for groups of reusable lines, not single lines that you think someone might want to modify at some point. I mean, I used the item effect stuff as an example, but the entire SDK is filled with this same thing.
I've got to wrap this up because I've got other things to do, but you don't know how often I get people who's projects don't work because the SDK is bad for compatibility. In theory, having something to make working with other nicer is great, but in practice what happens is you have a group of RTP scripts that work with each other and not SDK, you have a group of SDK-enabled scripts that work with each other and not RTP, and then you have a group of scripts, from both RTP and SDK, where nothing works with each other. I can tell you I don't choose to not use the SDK just to be difficult, I choose not to use the SDK because I've actually looked at it and it's crappy.
(Also I like how you throw around "professional programmer" like that means something.)
_________________
_ ) & ^ ( ^% + + * + ^ $ ) %
+ * % %$( ( % ( *
) ಠ_ಠ ^ % (
) # $ ) ) #
^ $ & % $ ( # @*
# ) * % ) $