Skip to content

The problem solving checklist

Venkat Dinavahi edited this page Jan 19, 2015 · 7 revisions

####Has this problem been solved already?

####Is there a related or equivalent problem that will lead me to a solution?

Ex 1: A solution to the problem in a different language. Ex 2: Performing a hit test--knowing if you clicked on something--is the same as knowing if a point is inside of a polygon.

####Is there a solved problem that could contain my solution?

Ex 1: Look at another ember addon to see how they do configuration

Ex 2: Look at an e-commerce platform to figure out a good database architecture for your custom e-commerce site

Ex 3: You want to figure out how to do collision detection, so you look for an open source video game to see how they do it.

Ex 4: I want to keep track of which routes get hit in an Ember application. If you look for how to track page views using an analytics library, that will contain your solution. This is because in order to track page views, you probably need to be able to hook into when a route is hit.

####Can I break this problem down into smaller problems?

####Can I exaggerate the problem or make it more obvious?

Ex 1: If you are writing a method to shrink an image to fit in a bounding box, and the ratios aren’t working properly, exaggerate the ratios. Pick ratios like 100 by 5.

Ex 2: If there is a layout issue on your HTML page, add a red outline to all the elements.

Ex 3: If you suspect a timing issue, add an intentional delay to check your assumption.

####Are there things where, if they existed, they would help you solve the problem? I call this "if-only" thinking or "wishful" thinking Ex 1: If only you could break on XHR requests, it would make your life easier. Then you can research to see if something like this exists. Ex 2: If only bower let me develop addons locally, it would speed up my development time. Then you can research to see if this option exists.

Clone this wiki locally