Today via HN: Book Review: A Philosophy of Software Design.
An interesting article on data modelling and API design: Preemptive Pluralization is (Probably) Not Evil.
Over on the StackOverflow blog: Best practices for REST API design. Some of it is good but I disagree with a bunch of things. I made some notes:
* Use singular https://www.example.com/comment/list Not: https://www.example.com/comments * Use multidimensional selectors, not path/hierarchical selectors: https://www.example.com/comment/list?artist=nirvana&album=nevermind Not: https://www.example.com/album/nirvana/nevermind/comments * Use noun/verb format: https://www.example.com/comment/list https://www.example.com/comment/register https://www.example.com/comment/edit/54688 https://www.example.com/comment/view/54688 https://www.example.com/comment/reply/54688 * The [ noun, verb ] pairs map to Facilities for implementation: [ comment, list ] => CommentLister [ comment, edit ] => CommentEditor [ comment, view ] => CommentViewer Facilities have submit/render functionality and round-trip view state. * HTTP success 30x's not 2xx's. * Include a 'submission ID' on <form> elements for idempotent operations * GET and POST only, don't CRUD URLs, rather invoke business processes
Today I discovered Library Writing Realizations which has a bunch of things to think about when designing APIs.
Today I bumped into My System Design Template which I thought was pretty neat.
Just read the Design by Contract article on Wikipedia… a good read!
Learned about a web design website today called A List Apart. It seems to have some interesting content centered on web design.
Involved in some design discussion on the wikitech mailing list.