When writing code one of our goals should always be to catch errors as early as possible. If our tools / code exist in a way that means we don’t catch all or most errors until runtime…then we have serious flaws in our approach. Take TypeScript for example. If we actually use this tool right… Continue reading errors: dev time vs compile time vs runtime
Category: Process
TypeScript – please use strict mode
Many adopters of TypeScript will use it without strict mode enabled, by doing this you are forfeiting some of the safety that TS can provide during development. Strict Null Checks are a great example of what you might be missing! If you have a legacy codebase and you are trying to phase TS in, checkout… Continue reading TypeScript – please use strict mode
Chrome Dev Tools – element mutation events
Have you ever had trouble debugging an element that is conditionally visible. If it was visible because of a css hover state, this might be quite simple, as most developers will be aware that the inspector allows us to force a state, but sometimes forcing this state does not show the conditionally visible element, and… Continue reading Chrome Dev Tools – element mutation events
Process – rollback with splits
Consider this scenario, your application has a utility field that is used by all form elements that take the form of a dropdown, and this amounts to about 200 consumers. This utility field is considered legacy, it does not follow new gen practices / use frameworks that have recently been adopted by your development team.… Continue reading Process – rollback with splits
Chrome Dev Tools – network throttle
Sometimes it is easy to forget that the end user might not have the amazing internet you have, I work from home on a 350mb fibre connection, so everything seems very fast. We should try to consider the end user who might not be on a good connection, or maybe they have one at home,… Continue reading Chrome Dev Tools – network throttle
Process – consider a dependancy manager
Have you ever started work one day and thought “oh dear it has been a while since we updated any of our npm packages”, or maybe the warnings that show during install have been building up, and no one is really taking the time to understand why. You also might find out one day that… Continue reading Process – consider a dependancy manager
Web – compress images!!
I see too many websites containing images which are not compressed. There are many websites/ tools available now that can perform compression on images in an instant, and most of them are free. There are both lossy and lossless compressions available, and of course, lossless will likely yield the best quality retention. You can work… Continue reading Web – compress images!!
React – scalability
Sometimes you see questions online like “is React scalable??” and of course people say yes. After-all it is used on a massive scale by Facebook themselves so we already have some pretty good evidence to back that up. I think the better question now is “how can I make sure React is scalable for my… Continue reading React – scalability
Process – infastructure + setup as code
To speed up day to day work and onboarding new developers we should try to leverage setup automation as much as possible. For example, if you use AWS you should be taking an “infastructure as code” approach using the AWS SDK. Another good example is repo setup on a local environment, if you have a… Continue reading Process – infastructure + setup as code
Process – code review yourself before asking others
Let’s take a development scenario for a new feature on a website. You have covered all the acceptance criteria, you have written your tests, you have run the code locally and on the development platform. You think you are ready to ask for peer reviews… We should add one more step in here and that… Continue reading Process – code review yourself before asking others