TL;DR style notes from articles I read today.
- What the author calls a ‘main debug loop’ is a natural tendency most programmers develop over time: Write a small piece of code. Run the code. Fix what’s not working. Repeat.
- Validating small pieces of code you write while you write them (in-application validation) is better for code quality & for speed of the overall project than using only testing as a validation method.
- However, in many cases this approach may consume a lot of developer time due to the latency in the file system, the runtime loading the change you just made, and your own time interacting with the newly updated application.
- There is a correlation between large codebases, service architecture, and a retreat to test validation as the primary debug loop.
- Staging environments can help solve these local machine resource problems, if any, and also alleviate the burden of maintaining a local data set for testing while writing code.
Full post here, 9 mins read
- The ability to rapidly iterate, receive quick feedback, and keep costs relatively low are the three main priorities during the prototype phase.
- Even in the prototype phase, write tests for vital pieces of code.
- If your prototype starts turning too buggy, slow down and tighten your code. If you are constantly missing deadlines, simplify your code to improve the pace.
- In the production phase, it is all about keeping the user, their needs and their environment in mind.
- Users want products to be flawless and fast. Have well-defined code standards, review processes, and quality assurance testing process.
- Be thorough with your documentation if you don’t want considerable code rewrites.
Full post here, 16 mins read
- Data sets tested locally are usually an unrealistic representation of what is in production and can expose users to potentially breaking changes.
- Staging environments can reduce the errors occurring due to unmet dependencies.
- They reduce the chances of incorrectly merged changes getting deployed to production and save you from potentially rolling changes back or hotfixes.
- They reduce the impact or number of errors in your product and result in indirect cost savings.
- Using staging environments can result in a higher degree of quality assurance.
Full post here, 7 mins read