Thread Tools Display Modes
11-06-10, 05:24 PM   #21
SDPhantom
A Pyroguard Emberseer
 
SDPhantom's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2006
Posts: 2,326
I always defined "lightweight" or "simple" in comparison to the size of the codebase, the number of methods it employs to perform its task, and how "clean" the code is. In some part, it has a connection to functionality and efficiency.

The codebase size refers roughly to the number of lines an addon takes up if written in an easily readable fashion. The number of methods used refers to subgroups of code that handle different tasks to achieve the final goal. "Clean" refers to how direct the code is to accomplishing its task. This is a direct correlation to efficiency and the ease of how the code flows. "Dirty" code such as hacks or workarounds to fix a glitch, either in the AddOn or the WoW API, would count against this in variation to how complex it is.

For example, an anti-duel addon that prevents a duel request from showing up on screen and autodeclines it that takes up only 4-6 lines of code would be considered "lightweight" to me.

My addon, Cooldown Watch, has a short codebase (47 lines), uses only a few methods to get the job done, but one of those methods uses a hack through an undocumented effect considering the metatables of frames of the same type. Even with the mark down in "cleanliness", it still performs admirably in the other areas and would get my decision as "lightweight".

Another example to go through would be my joke addon for Cataclysm Beta, Benny Hill Worgen. The codebase is fairly small (65 lines), but it has many methods to ensure it runs properly. It has a registered slash command to toggle on/off and saves its state across sessions. It watches the combat log for a specific buff application and fade along with instant and delayed handling of transformations. It also counters a glitch with the game client stopping music playback immediately after loading a new area. The two workarounds for problems with the WoW environment count against the "clean" code requirement as well. Even though it has a small codebase, I would NOT consider this "lightweight".
__________________
WoWInterface AddOns
"All I want is a pretty girl, a decent meal, and the right to shoot lightning at fools."
-Anders (Dragon Age: Origins - Awakening)
  Reply With Quote
11-07-10, 01:53 AM   #22
Torhal
A Pyroguard Emberseer
 
Torhal's Avatar
AddOn Author - Click to view addons
Join Date: Aug 2008
Posts: 1,196
Being one of two (sometimes three) people who screen AddOn projects for CurseForge, I eventually grew tired of the "Mah mod iz teh lightweight!" schpiel, and actually amended our Project Acceptance Policy to include this line:

Changes Required
Needs a Better Description
  • Accurately describe the functions and behaviors of the project. This may only require a line or two, or it could encompass an entire page. Terms such as "simple" or "lightweight" are not descriptive, are overused, and as such should be avoided as superfluous buzzwords.
I've found that this doesn't actually cut down on such projects, but allows me to point to the rules when someone asks why I denied their project. Not surprisingly, they omit those words when re-submitting.
__________________
Whenever someone says "pls" because it's shorter than "please", I say "no" because it's shorter than "yes".

Author of NPCScan and many other AddOns.
  Reply With Quote
11-07-10, 03:51 PM   #23
Vlad
A Molten Giant
 
Vlad's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2005
Posts: 793
I don't see the problem, the definition of "Lightweight" is clearly stated in the lexicon as "Lightweight is a class of athletes in a particular sport, based on their weight." ... oh wait perhaps not that kind of lightweight!

A lightweight addon, hmm, I think of one two things: performance and customization. I believe performance is key, not lagging the player because of background data being processed in large enough amounts to be visible as fps drops. Customization parts comes in being able to control what loads and what does not, thus a whole bunch with plugins for let's say Prat you can toggle on and off, thus make it so you know what your machine can handle and avoid stuff that uses too much CPU -hence not performance friendly if you run all at once -not for many people at least.

Again you could say lightweight as in "uses little memory" or combine both and say it's a mod that uses both low memory and low CPU usage. I guess most would agree with this being a true lightweight addon, when it's nearly invisible. :3
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » What defines a "lightweight" addon


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off