• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 18:44
CET 00:44
KST 08:44
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
Chinese SC2 server to reopen; live all-star event in Hangzhou Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced Weekly Cups (Nov 24-30): MaxPax, Clem, herO win SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL Offline Finals Info - Dec 13 and 14! StarCraft Evolution League (SC Evo Biweekly) Sea Duckling Open (Global, Bronze-Diamond) $5,000+ WardiTV 2025 Championship
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 503 Fowl Play Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night
Brood War
General
The top three worst maps of all time Foreign Brood War BGH Auto Balance -> http://bghmmr.eu/ Data analysis on 70 million replays BW General Discussion
Tourneys
Small VOD Thread 2.0 [Megathread] Daily Proleagues [BSL21] RO16 Group D - Sunday 21:00 CET [BSL21] RO16 Group A - Saturday 21:00 CET
Strategy
Current Meta Game Theory for Starcraft How to stay on top of macro? PvZ map balance
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile ZeroSpace Megathread The Perfect Game
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
European Politico-economics QA Mega-thread US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread The Big Programming Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
I decided to write a webnov…
DjKniteX
Physical Exertion During Gam…
TrAiDoS
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1603 users

Programming Best Practices?

Blogs > Phyre
Post a Reply
Phyre
Profile Blog Joined December 2006
United States1288 Posts
September 14 2008 04:57 GMT
#1
So I know there are a decent number of experienced programmers here on TL so I figured this would be a good place to ask. I'm relatively inexperienced in programming despite being a graduated CS major and looking to improve. One thing that I find I'm sorely lacking in is an understanding of "best practices." I tried googling around a bit but nothing I found seemed terribly reputable. Is there a site or forum that most coders trust as a good source? Like the TL.net of the coding community?

Also, if anyone is well versed in Actionscript3 and is willing to answer a few questions that would be great too. Had to pick it up recently and I've run into a few snags here and there. C++ is my preferred language but you learn what the job requires.

"Oh no, I got you with your pants... on your face... That's not how you wear pants." - Nintu, catching 1 hatch lurks.
CommanderFluffy
Profile Joined June 2008
Taiwan1059 Posts
September 14 2008 05:00 GMT
#2
read as: "Progaming Best Practices?"

expected some drills in BW or something

i start my programing classes this year in college so i cant help you on your search. sorry
Pain is temporary, but glory is forever.
EtherealDeath
Profile Blog Joined July 2007
United States8366 Posts
September 14 2008 05:03 GMT
#3
Practice #1: When making a programming language, plz use brackets not tabs. It's the one thing about Python that pisses me off. (Not the map Python)
haduken
Profile Blog Joined April 2003
Australia8267 Posts
September 14 2008 05:09 GMT
#4
I dunno. I'm pretty much the same as you.
I think a good practice is to keep things simple and commented but that's pretty much a given if you program.

There are quite a few code optimisation, algorithm blah blah things that you do but they contradict eachother sometimes so it's really a philosophical choice at times.

Personally i hate programmers that write their code and treate it like a fucking poetry by make shits unneccary complicated to look cool but maybe it's because i'm not on their level yet.
Rillanon.au
il0seonpurpose
Profile Blog Joined January 2007
Korea (South)5638 Posts
September 14 2008 05:11 GMT
#5
Ok you had me confused, I read progaming best practices, and then I kept reading then you said cs major and I was like counter strike major?? then I kept reading and was like, ohh computer science.

orca
Profile Joined January 2003
Israel469 Posts
September 14 2008 05:16 GMT
#6
i like the school of thought that says: write your code so that it doesn't need comments to see What/How it works. you only need to comment WHY.

kinda off topic, but i recommend you do things like Google Code jam (I'm doing some problems from there right now actually.)

http://code.google.com/codejam/contest/
Post edited for grammar.
Phyre
Profile Blog Joined December 2006
United States1288 Posts
September 14 2008 05:27 GMT
#7
If I were to be more specific about what I'm tackling right now, I'm trying to figure out how I want to structure my classes and such to fit an OOP design style. I'm finding it difficult to figure out what should go where, etc.
"Oh no, I got you with your pants... on your face... That's not how you wear pants." - Nintu, catching 1 hatch lurks.
haduken
Profile Blog Joined April 2003
Australia8267 Posts
September 14 2008 06:35 GMT
#8
Keep it simple.
I sometimes find that OO gurus design their codes way tooo abstract to make any use of the advantage of OO.
Stir clear of OO methodologies that are specific to one language. such as multiple inheritance under C++ (Could be wrong here, can't remember exactly)

If your design is good then another programmer will pick it up and say hey i can do this! instead of saying hey this guy is leeeet.
or maybe that's your purpose.

Rillanon.au
Mastermind
Profile Blog Joined April 2008
Canada7096 Posts
September 14 2008 08:10 GMT
#9
Name all of your classes, functions, and variables so that anyone reading your code immediately knows what the point of that class/function/variable is for. It is fine to have variables like n,i,x, etc. for controlling loops and what not, but for other things try to name them so it is obvious what they are for.
Its important to just be really consistent in your code. Structure all your functions and classes in a very consistent format. Make sure all your tabs and braces are always done the same way.
Commenting is good, but pointless comments just get in the way. Explain things that may not be easy to figure out, and dont comment anything else.
Im surprised you didnt learn a lot of things specific to OOP in college. Im not really sure what to say there. Just look for a good online reference for that, or buy a quality book if you really want to learn a lot about it.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
September 14 2008 09:09 GMT
#10
You are the exact opposite of me I have no formal education but a bit of practice.
If you can get "Code Complete" from a library you should read it, I think it is more or less what you want.
And don't overcomplicate things(Which in my experience if common CS students which mainly worked with Java). Often the simple solution is faster to write, easier to understand and if the need should arise it can still be refactored into something more complex.
And practice, practice practice.
For example I like writing small games.

Commenting is good, but pointless comments just get in the way.

In most cases you just have to commentate the plugin interfaces not the implementation itself. Often if you feel the need to commentate code it is better to split it into several well named helperfunctions. But of cause if there are certain traps/unusual things you do a comment is usefull.

Assertions are usefull, so you can make the things your code relies on explicit instead of implicit and they are automatically checked which helps with debugging.
LiquipediaOne eye to kill. Two eyes to live.
VIB
Profile Blog Joined November 2007
Brazil3567 Posts
September 14 2008 09:23 GMT
#11
There are lots of talk about codings standards in wikipedia. Btw wikipedia is a great source of general programming information. Always look there before google when you needs something related to it.

These should help you:
http://en.wikipedia.org/wiki/Code_conventions
http://en.wikipedia.org/wiki/Programming_style
http://en.wikipedia.org/wiki/Indent_style
Great people talk about ideas. Average people talk about things. Small people talk about other people.
Scorch
Profile Blog Joined March 2008
Austria3371 Posts
September 14 2008 09:24 GMT
#12
Code:
Keep your stuff readable! Use meaningful variable names. Write comments on what's happening if a step is not immediately obvious, but not too many comments either. Try your best to make it so that you (or also someone else!) can revisit your code at a later time, understand it and change stuff with minimum effort.

Environment:
I'd strongly suggest using a good IDE like Eclipse which helps you greatly by auto-generating getter and setter methods, auto-completion, debugging, syntax-highlighting etc. Use a dual monitor system if possible so you can have Firefox, documentation or what-have-you open at all times and look things up without having to switch around.

Health:
Increase the font size to 14 or so to reduce the stress on your eyes. Invest in a good chair if you sit in front of the computer all day. Take a break from time to time, go out on the balcony or out the door for a couple of minutes to relax your eyes and take a breath of fresh air, and drink a glass of water.
Please log in or register to reply.
Live Events Refresh
Patches Events
23:00
5.4k Patch Clash #9
Liquipedia
BSL 21
20:00
RO16: Group D
Bonyth vs StRyKeR
Tarson vs Dandy
ZZZero.O242
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft373
Liquid`TLO 226
elazer 180
CosmosSc2 127
ProTech123
SpeCial 70
StarCraft: Brood War
Shuttle 641
Artosis 477
ZZZero.O 242
NaDa 21
Terrorterran 2
Dota 2
Dendi1588
syndereN626
LuMiX2
League of Legends
Nathanias36
Heroes of the Storm
Khaldor195
Other Games
Grubby5941
shahzam591
XaKoH 95
Maynarde79
Mew2King73
fpsfer 2
Organizations
Other Games
EGCTV2270
gamesdonequick1753
BasetradeTV33
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Hupsaiya 60
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• Ler93
League of Legends
• Doublelift4101
Other Games
• imaqtpie2238
• Shiphtur231
Upcoming Events
Replay Cast
9h 16m
Wardi Open
12h 16m
StarCraft2.fi
16h 16m
Monday Night Weeklies
17h 16m
Replay Cast
1d
WardiTV 2025
1d 12h
StarCraft2.fi
1d 16h
PiGosaur Monday
2 days
StarCraft2.fi
2 days
Tenacious Turtle Tussle
3 days
[ Show More ]
The PondCast
3 days
WardiTV 2025
3 days
StarCraft2.fi
3 days
WardiTV 2025
4 days
StarCraft2.fi
5 days
RSL Revival
5 days
IPSL
5 days
Sziky vs JDConan
RSL Revival
6 days
Classic vs TBD
herO vs Zoun
WardiTV 2025
6 days
IPSL
6 days
Tarson vs DragOn
Liquipedia Results

Completed

Proleague 2025-12-04
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
Slon Tour Season 2
Acropolis #4 - TS3
WardiTV 2025
META Madness #9
Kuram Kup
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Big Gabe Cup #3
RSL Offline Finals
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.