Closed kerrygilbert closed 7 years ago
I like this list. I think some space for growth and improvement in our technology choices is important, but it shouldn't be allowed to eat the schedule and budget of a project.
I don't mean to throw a book at this answer but the Pragmatic Programmer might be a good reference point to continue this conversation (I believe there's a copy in the P'unk library if you haven't read it):
https://pragprog.com/book/tpp/the-pragmatic-programmer
Here's a quick reference guide as well:
http://www.ccs.neu.edu/home/lieber/courses/csg110/sp08/Pragmatic%20Quick%20Reference.htm
Great call, Austin. Pragmatic Programmer is great, I could definitely use a refresher on it (been several years) and those who haven't read it would benefit from doing so!
Good recommendation... The quick ref is a great cliffs notes. It would be fun to read/discuss some sections of this book as a group someday. I haven't read it since I worked at Cipher Prime.
There's a bunch of points in the second link that could potentially be mined for ideas, but these all feel too granular... Plus, almost everything on this list should be applied to all projects, but I'll admit many of them are not sustainable within the budget/timeline constraints we're often faced with.
Remember, we're establishing best practices for people who work on client projects at P'unk Ave. We should try to prioritize values that exist within those realities to make things easier and more productive for our team (and better for our clients, of course).
Definitely hear you! Was thinking that it would be a good starting point (it's what comes to mind when I think of high level principles that drive my work) — definitely not suggesting a wholesale adoption of all the points that Hunt and Thomas list.
Sure. I like most of Pragmatic Programmer a lot. The idea of creating DSLs (Domain Specific Languages) was more useful in a literal sense when the book was written. Today we're working in languages high-level enough that it doesn't really make sense to invent programming languages, almost ever; but Apostrophe's module pattern, app.js, moog, etc. all add up to a DSL in spirit.
On Thu, Oct 27, 2016 at 4:09 PM, Austin Starin notifications@github.com wrote:
Definitely hear you! Was thinking that it would be a good starting point (it's what comes to mind when I think of high level principles that drive my work) — definitely not suggesting a wholesale adoption of all the points that Hunt and Thomas list.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/punkave/best-practices/issues/13#issuecomment-256754768, or mute the thread https://github.com/notifications/unsubscribe-auth/AAB9ffbR_46vfdwp4dPsvGCamV0i_f0Kks5q4QTggaJpZM4Kiek1 .
THOMAS BOUTELL, SUPPORT LEAD P'UNK AVENUE | (215) 755-1330 | punkave.com
This is a great look too. It's a list of high level design principles that Jeremy Keith put together from various sources: https://principles.adactio.com/
Austin's link nudges me to mention a few things that should be on our list:
Before we can "canonize" practices into the READMEs of this repo, we'd like to establish a set of criteria that we can use to measure potential BPs...
These should be high-level principals that aren't necessarily specific to any patterns or technologies. This list would live on the homepage of the README and serve as our commandments.
Some Good Examples:
Other ideas:
...Are these good? What are other ideas? I'd like to have a tentative list drafted by next week. Please send feedback and ideas @agilbert @boutell @stuartromanek @kyjoya @austinstarin @grdunn @bgantick.