[Tutorial] How to reply to topics
#1

Disclaimer

I can't believe I have to write this! However, I'm sure I am just as guilty as other people for the things mentioned here, but that doesn't mean that it should continue; I am telling you now that it will NOT continue and if you don't like it leave!

Introduction

This community has got slowly worse and worse at dealing with newbs. I am making a distinction here between "newb", meaning "one who is new"; and "n00b", meaning "one who is an idiot". Not just newbs at SA:MP, newbs at English, newbs at tutorials, newbs at frankly anything. People forget that they were once newbs too and when they see people making "basic" mistakes they jump down their throats and endlessly berate them for it, instead of trying to help them improve. There is a difference between "constructive" criticism and "destructive" criticism. There are also, in general, two types of people I'm going to look at - "thinkers" and "feelers" (see "Myers-Briggs" for more data).

From now on, if you don't buck up and start treating people with respect, even when they do things wrong, I'm going to come down hard on every one of you! And to those who they are insulting and flaming - if you stoop to their level I'll come down just as hard on you; rise above it, report their posts, and ignore them. Remember, flaming and trolling other members is against the forum rules, it just hasn't been that strongly enforced previously - that changes now!

Anyway, with this in mind, I will now explain how to write a GOOD reply to a bad topic (if you don't think you can follow these guidelines, don't reply to the topic).

Personalities

I am not a psychologist, but I do have a little bit of experience in this area. As I mentioned there are two main classes of people we'll look at here (I *think* they are "thinkers" and "feelers", it doesn't really matter but for now I'll assume they are).
  • Thinkers
Thinkers are the more logical ones, a great number of the people in SA:MP scripting will likely be thinkers simply because it's the sort of occupation logical thinkers are drawn to and enjoy - I know I'm a big "T". These people tend to want to get straight to the point and avoid frivolity (i.e. fluff). Telling them how great something is, how you liked some part of the code, or that their colour scheme choices were good for example are all "pointless" - they've already done them and telling them about it doesn't get to the useful information about what needs improving. I know I would MUCH rather have someone tell me a function is not very efficient and give me a better way of doing it than have them tell me it's great as it is. If it's great as it is I don't learn anything!
  • Feelers
Feelers, as you may have guessed, are the opposite (it is, of course, a continuous scale). They're not shallow in that they need constant praise, but take criticism much more personally as they are more people and relationship focussed. I can't say much more about these people as frankly I'm not one!
  • Interactions
The important thing to bear in mind is who you are talking to:

An F talking to a T may take time to go in to what they liked about something, praising the T's work because they think it will make them happy that someone appreciates their work (which is an understandable viewpoint), but they need to bear in mind that often all the T wants is a perfunctory "yeah, it's good but...". That lets the T know that the F liked it (which is good), but then gets on to the more important aspect of what needs improving. Changing this pattern can be hard for Fs as they feel like they are just being mean for no good reason.

On the other hand, a T talking to an F needs to bear the opposite in mind. A T can think something is brilliant and then proceed to spend the next half an hour poking holes in it and finding flaw - this is not good for the F they are talking to. All they will hear is a stream of insults against their work and end up thinking the T hates it. To appease them you need to take a more tactful approach making sure to highlight the good parts, and just mentioning a few problems (almost apologising for finding them, but not quite) while ensuring they know that those problems are the minority. Changing this pattern can be hard for Ts as they tend to find compliments "gushy", overly "touchy feely" and a waste of time.

Criticism

Start your post with a suitable intro; "good effort for your first release" is a brilliant catch-all for appeasing Fs whose release is actually terrible before you rip in to it. Note that "This sucks" is NOT a good intro, neither is ANYTHING attacking the author themselves - ANY insults towards the author directly will not be tolerated (note that this is where you need to be careful as people may see an attack on their code as an attack on them).
  • Constructive
Constructive criticism calmly points out shortcomings in something and offers guidance on how they may be corrected (or at least does the first part if you don't know the second part). BE POLITE and ONLY criticise the work. What's more, don't just assume people WANT to improve (don't worry, they won't last very long if they don't).

Examples:

Quote:

I liked the concept of this include, I've not seen something similar before. If you are interested in improving it here are a few suggestions:

Instead of using "SendClientMessage2" you can use "ALS" to hook the original "SendClientMessage" so that uses don't need to edit their existing code at all.

The loop in the second function isn't actually needed - you can just use "%" instead, which returns the remainder of a division.

Most importantly, currently there's no license on this code which actually means no-one can use it legally - you'll need to add an open-source one (I personally recommend the MPL).

Quote:

I've been wanting a tutorial on this for a while, so I'm glad to see one appear; however, could you explain what you did a little more please? I got lost fairly quickly because most of the code is presented with no explanation. Currently this is more like a filterscript as you only have code, a tutorial needs far more explanation on what is going on (you might want to read the pinned tutorial on writing tutorials for more hints if you're struggling).

Quote:

Hi there,

I was wondering if you could explain what advantages this system has over a similar one such as ZCMD or JunkBuster? Also, are you aware that currently a hacker can crash a server using this by passing an empty command string? Just add an "isnull" check to the start to prevent this and your code will be much more secure.

Quote:

I'm very sorry, but I'm not actually sure what you're trying to say here. If English is not your first language then could I suggest you ask someone with some more experience in it help you translate? And whether it is or not, please don't use words like "plox" or "t3h" - they make things much harder to read and actually hinder your learning of English. Thanks.

  • Destructive
Destructive criticism does not help anything get improved. Swearing, saying something "sucks", mentioning mums etc; are NOT constructive in almost ANY context so just don't bother posting. And DO NOT criticise the author, EVER.

Examples (correspond to the examples above, also note that these are a lot shorter as I've never seen a bad in-depth explained comment):

Quote:

Uugh, why did YOU have to write this!? It's a good thing ruined - I don't want to have to edit my whole script to use it, I'm going to go write my own better version and not release it. Thanks for the idea sucker!

Quote:

THIS ISN'T A TUTORIAL! You don't explain anything! Just delete it and give up now.

Quote:

Just use the plugin! It's way better and faster than this, and Slice knows what he's on about unlike you!

Quote:

Stop using babelfish to translate! Go back to Allahislamahbad!

Rules

This forum has a very basic set of rules, yet people still seem to be repeatedly incapable of following them! If you do see someone breaking a rule, REPORT them and DO NOT reply. Replying to those sorts of posts is known as "feeding the trolls" and only encourages them. You may think you are helping the moderation team but the fact is that you're not a moderator and so that's not your job. What will end up happening is the original post will get an infraction for breaking the rules, and you will get an infraction too for replying to the infringing post.

Conclusion

If you don't have anything nice to say, don't say anything at all, or mods will get involved. And remember, you were once a newb too and we can prove it!

Credits
I am reposting this tutorial (originally made by Y_Less) with the thought of what he said to several members of the community. Everything that could help someone should not be deleted from the forums, which is something I agree with since I learned a lot by reading the tutorials on here. He made a lot of things that are used by lots of servers and that knowledge should not be lost for present and future developers.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)