title: VB.NET best practices and designing classes
body: <p>I am busy writing a program in Visual Basic .NET and I have a few questions regarding best practices. I know it is a bit open ended, but just a few guidelines/ideas or even links would be appreciated. </p>
  
  <p>Firstly, the code in the main form is getting a bit long (about 1000 lines). What is an acceptable number of lines of code for the main form or any other form for that matter? I have divided the program into classes as far is it makes logically sense to me. What are some good guidelines to what should be added together in a class? Should I add functions in classes as shared function rather than putting the code in the main form? Also, should I refrain from adding code in modules?</p>
  
  <p>On a similar note, I am looking for information about how to design a large software project. I know the language pretty well now, but how does one actually plan how to create a large program or does that only come with experience? </p>