Chapter 14. What You Need to Know to Grow

In This Chapter

  • Battling code complexity

  • Managing multiple developers

  • Dealing with performance issues

As your application grows in features, it become more complicated. Complexity is the kiss of death in software development. It breeds bugs and makes your code harder to maintain and enhance. To combat this, developers

  • Use abstraction to hide sub-routines and keep functional code as simple as possible.

  • Use automated testing to make sure new code doesn't break old features.

In addition to your application's growing complexity, your application will suffer from scaling pains as you gain more users. As your user base increases, so does your server load, disk space requirements, database hits, and Twitter API calls. You must address these scaling issues first, or your application is at risk of crashing.

This chapter is here to warn you of potential growing pains and point you in the direction of potential solutions.

Automating Acceptance Testing

Acceptance testing is done from the user interface side of your application. For example, if your app has a login mechanism, to do acceptance testing on that mechanism means you type a username and password, press the login button and verify the login page loaded. This is the most common and simple type of software testing. Acceptance testing can be done manually by a tester or the developer, but it's difficult and time consuming to test every feature of an application, and do it the same way each time. Fortunately, ...

Get Twitter® Application Development for Dummies® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.