By working within a well defined framework a lot of development decisions are simplified and it is easier to be more organized. Throw in some great tools like ORM, Unit Testing, Mocking, and more and you have a powerhouse of developer efficiency and quality.
The Integrated Development Environment (IDE)
To me this is the prime essential. Sure you can program in Notepad and compile with the command line but it will likely take longer and it will necessitate more discipline to wait organized. With a good IDE you have easy project management, syntax highlighting, compilation, and auto complete.
IDE are incessantly getting more and more sophisticated and plugins permit for lots more functionality like svn and git management in the IDE.
For me the best IDE is Visual Studio. There are some other great programs out there like NetBeans and Eclipse but for whatever reason become partial to Visual Studio.
Unit Testing and Mocking
These two items go hand in hand. No application is complete without proper testing. There is abundance of people on both sides of the fence when it comes to testing. It just felt weird to use time writing code to check the real code going to write. Finally decided to give it a try and it has changed the way. When you are focusing on how to test your code you just write cleaner code and it’s nice to have a quick way to recognize if the change you just made broke anything.
Object Relational Mapper
If you have ever used an ORM you know that it can save you a huge amount of time. One of the concerns I had before jumping to an ORM was performance. I wanted to know if using an ORM would make my application slower but I was asking the wrong question. I should have been asking whether or not the small performance hit was worth the huge time savings. The answer to that is a definite YES! Rarely in an application will the ORM be the source of poor performance and if it is it can be refactored to advance or you can use straight SQL if need be.
It all comes down to not worrying about performance issues before you have any. Yes it is significant to stay performance in mind but using an ORM shouldn’t be anything to worry about.
MVC has become very popular thanks in part to Rails and its revolution in the way we do Web Development. The key component to its fame is that it separates the different concerns of your application into separate pieces. This separation allows easier testing, better designs, and makes your application more maintainable in general.