This isn't a post to ask for help with a particular code question. It's more of an "I've muddled through everything myself, and now need a reality check" type request. As such, I know it is a bigger deal than simply answering a short, specific question, and expect most to either not have or just not want to take the time needed to provide feedback - and that's great, no worries. However if there's a few people out that that find the project (a general aura uptime statistics tracker aimed very initially at tank active mitigation abilities) interesting and feel like providing some "wise old developer" type constructive feedback, I'd *love* it.
As an introduction, I've been a reader of these forums for a while, WoW player since before release, user of many, many addons (many by you fine folk :) ) and IRL have been a professional dev for many years.
I have just released my first preview/alpha version of my addon and would welcome feedback at either the addon or even better at the code level. I have never used Lua before, and it shows. I have read the wowprogramming book by James Whitehead and the Lua with World of Warcraft Addons book by Paul Emmerich, and both have been great resources, along with the standard "Programming in Lua" 3rd edition and the Lua.org website. I feel like I'm still far from really grokking things though, and hit the point where I needed to write some code to go further.
Like many, my first addon was to do something I needed to "scratch an itch" for something I wanted in game. I've hit the point now where it is useful to me, and has been used by a few guildies, so I thought I'd put it out there as an obviously early preview in case others found it useful.
I'm currently starting to refactor and rewrite it using what I learned from the prototype experience, but feel like I'm in danger of doing things in an anti-Lua way because I don't know things at an idiomatic level yet, nor do I have a feel for what Lua does particularly well or badly at an optimization level - things like how expensive are function calls, table access, metatable access, wipe() vs new table, upvalues, vs. an inner scope local if you actually need to change the values. Etc. Other than that, basically I'm still at the level of not really knowing what I don't know...
So, if you made it through the wall of text thus far, and feel so inclined, I'd welcome you to grab a copy of the addon, read the readme_dev.txt and readme.txt, and take a look at the code. See if anything really horrible jumps out, or if there's some trap you've experienced that you'd like to warn me about. I'd really appreciate it, and know it takes a lot of effort and a particular mindset to be able to read other's code and provide good feedback.
I know that the code style varies more than it should - it kind of developed on the fly as I was writing Lua for the first time. That will naturally get better as I get my feet under me, so I don't think I need much feedback about that, so long as it isn't so horrible that you can't understand the code. Instead, I'm particularly looking for feedback that helps me develop idiomatic coding style and avoid horribly inefficient techniques.