#1

Refactor code into lots of small, independent components whenever & wherever you can.

Blue Twitter icon. Source: B. Sourour
Justifications:
  • This makes code easier to reason about!
  • Not following this rule makes code difficult to reuse & costly to change.
Concrete Applications:
#2

Don't change a UI to accomodate Box Model issues that are easily avoided.

Blue Twitter icon. Source: B. Westfall
Justifications:
    Concrete Applications:
      #3

      Always look for patterns when solving problems.

      Blue Twitter icon. Source: B. Westfall
      Justifications:
        Concrete Applications:
          #4

          First make it work; then make it better.

          Blue Twitter icon. Source: B. Sourour
          Justifications:
            Concrete Applications:
              #5

              Optimize for delete-ability.

              Blue Twitter icon. Source: B. Holt
              Justifications:
                Concrete Applications:
                  #6

                  Commit frequently & only do one thing per commit.

                  Blue Twitter icon. Source: M. Fowler
                  Justifications:
                    Concrete Applications:
                      #7

                      When starting a new side project, create the site locally first and then purchase the domain name.

                      Blue Twitter icon. Source: Mise Mé Féin
                      Justifications:
                      • At any given time, Gandi has too many cool domain names on sale.
                      Concrete Applications:
                        #8

                        To avoid older browser bugs with calc() & viewport units (e.g. vw & vh ), set sensible default font sizes before declaring a fluid calc() expression.

                        Blue Twitter icon. Source: M. Riethmuller
                        Justifications:
                          Concrete Applications:
                            #9

                            GUI tools are useful but it’s better to learn command line tools from the beginning.

                            GUIs can only do so much and you will eventually run into a situation where you get stuck and the underlying knowledge of the command line would be extremely useful.

                            Blue Twitter icon. Source: C. Schafer
                            Justifications:
                              Concrete Applications:
                                #10

                                One should look at a test and get the intent instantly.

                                Blue Twitter icon. Source: Y. Goldberg
                                Justifications:
                                  Concrete Applications:
                                    #1

                                    We build the web for everyone, not ourselves or our peers.

                                    Blue Twitter icon. Source: A. Bell
                                    Justifications:
                                      Concrete Applications:
                                        #2

                                        Almost every bug rests on a bad assumption.

                                        Blue Twitter icon. Source: B. Sourour
                                        Justifications:
                                          Concrete Applications:
                                            #3

                                            By choosing to be a developer, you are choosing to learn.

                                            Blue Twitter icon. Source: S. Drasner
                                            Justifications:
                                              Concrete Applications:
                                                #4

                                                It only takes one instance of losing a few hours of work to know that slow and steady is the way to go.

                                                Source: Anonymous
                                                Justifications:
                                                  Concrete Applications:
                                                    #5

                                                    People think that computer science is the art of genuises but the actual reality is the opposite: just many people doing things that build on each other, like a wall of mini stones.

                                                    Blue Twitter icon. Source: D. Knuth
                                                    Justifications:
                                                      Concrete Applications:
                                                        #6

                                                        If you write it, you don't have to learn it.

                                                        Blue Twitter icon. Source: Syntax Podcast
                                                        Justifications:
                                                          Concrete Applications:
                                                            #7

                                                            The first 90% of your code accounts for the first 90% of development time; the remaining 10% of the code accounts for the other 90% of development time.

                                                            Source: Anonymous
                                                            Justifications:
                                                              Concrete Applications:
                                                                #8

                                                                CSS knowledge helps create elegant & robust solutions; it is an often underrated resource.

                                                                Blue Twitter icon. Source: J. Perals
                                                                Justifications:
                                                                  Concrete Applications:
                                                                    #9

                                                                    The best way to learn is to build.

                                                                    Blue Twitter icon. Source: J. Quick
                                                                    Justifications:
                                                                      Concrete Applications:
                                                                        #10

                                                                        CSS is a visual language at the end of the day: make the visual punch you in the face so you really understand what's going on, then tone things down.

                                                                        Blue Twitter icon. Source: K. Powell
                                                                        Justifications:
                                                                          Concrete Applications:
                                                                            #11

                                                                            Although we use several different languages when putting together websites, CSS is the only one that has to deal with the "webiness" of the web. That's the primary challenge of working with CSS.

                                                                            Blue Twitter icon. Source: K. Powell
                                                                            Justifications:
                                                                              Concrete Applications:
                                                                                #12

                                                                                If something is delete-able, it's modular; and if it's modular, it's great.

                                                                                Blue Twitter icon. Source: B. Holt
                                                                                Justifications:
                                                                                  Concrete Applications:
                                                                                    #13

                                                                                    The best devs deeply understand how the languages & frameworks they use actually work (versus how they think they work).

                                                                                    Blue Twitter icon. Source: B. Sourour
                                                                                    Justifications:
                                                                                    • Almost every bug rests on a bad assumption.
                                                                                    #14

                                                                                    Mastering core skills & concepts (e.g. HTML, Pure CSS, Vanilla JS) allows devs to hold the tools built on top of those skills lightly, learn quicky, and switch easily.

                                                                                    Blue Twitter icon. Source: R. Andrews
                                                                                    Justifications:
                                                                                      Concrete Applications:
                                                                                        #15

                                                                                        Computing new values is less error-prone than changing existing values.

                                                                                        Blue Twitter icon. Source: M. Haverbeke
                                                                                        Justifications:
                                                                                          Concrete Applications:
                                                                                            #16

                                                                                            A test should feel like a friendly assistant, there to help you, and should never feel like a hindrance.

                                                                                            Blue Twitter icon. Source: Y. Goldberg
                                                                                            Justifications:
                                                                                              Concrete Applications: