Open me
curses = {
“Directly referencing children (Part.Child or Part[‘Child’])\nThis will error if this instance doesn’t exist, completely breaking your whole script.\nIt’s better to use WaitForChild or FindFirstChild in most cases!”,
“while wait() do end or repeat wait() until …\nThis will check infinitely until a statement is true. Isn’t it better just to run once once the statement is declared to be true? You can do this with Event:Wait()!”,
“wait()\nUsing wait() without a substantial value inside the brackets is almost never beneficial - wait() is very unreliable and waits for 1/30th of a second, you’re better off using game:GetService(‘RunService’).Heartbeat:Wait() (1/60th of a second)!”,
“if 1== 1 then end\nMake sure your code is spaced out correctly otherwise it looks unreadable! Let me fix it for you: if 1 == 1 then end”,
“Global variables inside functions\nInside a function, you should never set a global variable. This can be accessed in the rest of the code, meaning it could break it, and it also underlines it with an annoying blue line. Use ‘local var = …’ to set a local variable!”,
“Not adding comments\nYou should always comment sections of code so you understand what they do. This is especially true if you’re making a game with other people!\nYou can use the symbols ‘–’ to create a comment (like --Comment here).”,
“Bad variable names\nVariable names should be so good you can tell what the code does just by looking at them!\nAlways make sure your variable names are at least 8 characters (or a word) long, like ‘IterationNumber’ or ‘tween_object’.”,
“Deprecated strategies\nThese are dangerous because they could be removed at any time! Instead of using something like Instance:Remove(), use Instance:Destroy() or Instance.Parent = nil”,
“Deprecated case\nNever use event:connect() again!\nUse event:Connect() instead!”,
“Using free model scripts without understanding how they work\nFree models are great because they’re free, easy, and powerful. However, if you don’t understand how they work you’re not helping yourself and could even be injecting a virus into your own game!”,
“Programming for over 3 hours straight\nNever program for too long, or you’ll get burnout. Take a break for the rest of the day, maybe play a game or go outside!”,
“Programming alone\nProgramming all alone is building a staircase into insanity. Make sure you interact with other humans once in a while!”,
“Not having enough water\nHave you drunk water in the last two hours?\nIf not, go and drink some now.”,
“Using spawn over coroutine.wrap()\nSpawn is much easier than coroutine.wrap() but it has a built in wait() at the start of the code making it less useful!\nIf you don’t know how coroutines work, look them up!”,
“Using API’s without a pcall()\nServices like text filtering, datastores and HTTP requests can all fail randomly. You should always wrap them in a pcall and repeat until the code completes successfully!”,
“Directly referencing services like game.Players\nIf the name of game.Players is changed, it will break the code! Use game:GetService(‘Players’) instead.”,
“Using Gui’s without IgnoreGuiInset\nMost of the time, you will want this property to be true. If you’re using something like an ambient effect or a blood on screen Gui, without this property there will be an annoying line at the top of the screen ruining immersion!”,
“Using multi line comments without ‘–[[]]’\nIf you span a comment over multiple lines, you can use --[[ comment here ]] to avoid having to write ‘–’ over and over again!”
}