BeyondCodeBootcamp / BeyondCodeBootcamp/beyondcodebootcamp

Creeds of Craftsmanship

未关闭
#18 20 条评论 7 个 reaction 已指派 1 人 已被 @coolaj86 认领 在 GitHub 查看
主要语言
JavaScript
星标
63
派生
3
PR 合并指标
30 天内没有已合并 PR

描述

# The Creeds of Software Craftsmanship

These are perhaps the most important archeological documents of the 21st century.

- [The Grug-Brained Developer](https://grugbrain.dev/)
- Zen
- [**The Unix Philosophy**](https://en.wikipedia.org/wiki/Unix_philosophy#Origin)
- [**Zen of Python**](https://github.com/ewjoachim/zen-of-python) ([printable poster](https://github.com/ewjoachim/zen-of-python)) [[watch presentation](https://www.youtube.com/watch?v=zpKZ1bqmlHI)]
- [**Go Proverbs**](https://go-proverbs.github.io/) ([printable poster](https://github.com/BeyondCodeBootcamp/go-proverbs/)) [[watch presentation](https://www.youtube.com/watch?v=PAAkCSZUG1c)]
- [**Zen of Zig**](https://ziglang.org/documentation/master/#Zen)
- [**Axioms of AJ**](https://github.com/coolaj86/AJScript/issues/28)
- Rationalé
- [**The Prettier Rationale**](https://prettier.io/docs/en/rationale.html)
- [**DRY, WET & AHA**](https://kentcdodds.com/blog/aha-programming)
- [**The Agile Manifesto**](https://agilemanifesto.org/) (the real one)
- [**The 12 Factor App**](https://12factor.net/)
- [**The Laws of UX**](https://lawsofux.com/)
- [9 Pillars of Node.js](https://www.platformatichq.com/node-principles)
- [**The Rails Doctrine**](https://rubyonrails.org/doctrine/)
- other [programmer rationals](https://gist.github.com/coolaj86/9256619)
- [**The Pragmatic Programmer Tips**](https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/)
- [**The Testing Trophy**](https://kentcdodds.com/blog/the-testing-trophy-and-testing-classifications)
- Books
- [A Philosophy of Software Design by John Ousterhout](https://amzn.to/48k7XHZ)

Need to pull out some of the other creeds from here:
- https://gist.github.com/coolaj86/9256619

## Resources of Significant Importance

Here's a few more than don't quite fit the one-liner summary:

### Talks on Software Engineering

| The Zen of ~~Python~~ Programming | ([watch talk](https://www.youtube.com/watch?v=zpKZ1bqmlHI)) | (**Beyond Code**) |
| -------- | -------- | ------ |
| Crockford on JavaScript: The Better Parts | ([watch talk](https://www.youtube.com/watch?v=XFTOG895C7c&list=PLxki0D-ilnqbtvVf7xKP0gmIgp5UPS9hu&index=10)) | (**Yahoo!**) |
| Rob Pike on Software Engineering (in Go) | ([watch talk](https://www.youtube.com/watch?v=jgVhBThJdXc)) | (**Google**) |
| Dave Cheney on Software Engineering (in Go) | ([watch talk](https://www.youtube.com/watch?v=gi7t6Pl9rxE)) | (**Google**) |
| Simplicity is Complicated | ([watch talk](https://www.youtube.com/watch?v=rFejpH_tAHM)) | Rob Pike |
| Things in Go I Never Use | ([watch talk](https://www.youtube.com/watch?v=5DVV36uqQ4E)) | Mat Ryer |
| How I Write HTTP Web Services after Eight Years | ([watch talk](https://www.youtube.com/watch?v=rWBSMsLG8po)) | Mat Ryer |
| [Awesome Cold Showers](https://github.com/hwayne/awesome-cold-showers) | (article) | - |

### On Scaling

- StackOverflow's Engineering and Performance [see build & metrics](https://stackexchange.com/performance) ([wayback](https://web.archive.org/web/20250425195146/https://stackexchange.com/performance))
- StackOverflow Architecture [see blog](https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/) ([wayback](https://web.archive.org/web/20250425195619/https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/))
- StackOverflow Hardware [see blog](https://nickcraver.com/blog/2016/03/29/stack-overflow-the-hardware-2016-edition/) ([wayback](https://web.archive.org/web/20250425195545/https://nickcraver.com/blog/2016/03/29/stack-overflow-the-hardware-2016-edition/))
- StackOverflow Deployment [see blog](https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/) ([wayback](https://web.archive.org/web/20250415193427/https://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/))

### On Dependencies

- Go with Versions ([watch talk](https://www.youtube.com/watch?v=F8nrpe0XWRg))
- [The Dangers of Dependencies](https://research.swtch.com/deps)
- [**In Defense of Not Invented Here**](https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/) ([archive.org](https://web.archive.org/web/20210917062259/https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-invented-here-syndrome/)) by Joel Spolsky (**StackOverflow**)

### On Critical Decisions

- [Mature Optimization](https://ubiquity.acm.org/article.cfm?id=1513451)
- [Toward Go 2](https://blog.golang.org/toward-go2) (In the face ambiguity, refuse the temptation to guess)

### Needs Sorting...

Need to tease some stuff out of this:
- https://twitter.com/Aimee_Knight/status/1250926274459119616
- **REST**

## Contemporary Bonuses

This one is too contemporary and specific to belong among the Creeds of Craftsmanship, but it certainly illuminates a type of problem that has come before and will come again. I'm just not sure how to tease it out into a distilled, more generic form.

- [CryptoCurrency is an Abject Disaster](https://drewdevault.com/2021/04/26/Cryptocurrency-is-a-disaster.html)
- [The Fundamental Problem With Blockchain Tech](https://andrewzuo.com/the-fundamental-problem-with-blockchain-tech-dfed932e30fa)
- [Who Killed Bitcoin (documentary)](https://www.youtube.com/watch?v=eafzIW52Rgc)

## Just Plain Good Talks, Ideas, etc

#### General

- (Problem Decomposition) | A Philosophy of Software Design | John Ousterhout | Talks at Google \
https://www.youtube.com/watch?v=bmSAYlu0NcY (author of Tk/Tcl)
- (Patient Refactoring) | All the Little Things | Sandi Metz | RailsConf 2014 \
https://www.youtube.com/watch?v=8bZh5LMaSmE
- (Constant Micro-Improvements) | The Effective Engineer | Edmond Lau | Talks at Google \
https://www.youtube.com/watch?v=BnIz7H5ruy0 (former Googler, startup junkie)
- (Emergent Design) | The Road to Zig 1.0 | Andrew Kelley \
https://www.youtube.com/watch?v=Gv2I7qTux7g
- (Design Patterns) | Why isn't Functional Programming the Norm? | Richard Feldman \
https://www.youtube.com/watch?v=QyJZzq0v7Z4&t=1192s

#### Go

See also: My List of [**Best Go Resources**](https://github.com/BeyondCodeBootcamp/beyondcodebootcamp/issues/19)

- Rob Pike's Google I/O 2010 - Go Programming [[watch](https://www.youtube.com/watch?v=jgVhBThJdXc)]
- [Tour of Go](https://go.dev/tour/)
- [Effective Go](https://go.dev/doc/effective_go)
- [YourBasic Go](https://yourbasic.org/golang/)
- [Go by Example](https://gobyexample.com/)
- Dave Cheney's Go Workshop [[watch](https://www.youtube.com/watch?v=gi7t6Pl9rxE)]

#### Zig

- (Emergent Design) | The Road to Zig 1.0 | Andrew Kelley \
https://www.youtube.com/watch?v=Gv2I7qTux7g
- ["What's a Memory Allocator Anyway? - Benjamin Feng"](https://www.youtube.com/watch?v=vHWiDx_l4V0)
- ["What's Zig got that C, Rust and Go don't have?"](https://www.youtube.com/watch?v=5_oqWE9otaE)

#### Rust

- ["The Book" - The Rust Programming Language](https://doc.rust-lang.org/book/) ([Amazon](https://amzn.to/3q6e1j4))
- [Rust for Rustaceans](https://nostarch.com/rust-rustaceans)
- [The Rust Design Patterns Book ](https://rust-unofficial.github.io/patterns/intro.html)
- [Traits and trait objects - more than just interfaces - Rust Community Stuttgart](https://www.youtube.com/watch?v=izXf9-CTAfc)

#### JavaScript

See also: My List of [**Best JavaScript Resources**](https://github.com/BeyondCodeBootcamp/beyondcodebootcamp/issues/20)

- **Crockford on JavaScript** ([Watch Full 9-Video Series](https://www.youtube.com/playlist?list=PLxki0D-ilnqbtvVf7xKP0gmIgp5UPS9hu))
- [Why `return await`](https://github.com/jshint/jshint/issues/3576)
- [Node.js Best Practices](https://github.com/goldbergyoni/nodebestpractices)
- [Why `class` in JS is... terribad](https://www.toptal.com/javascript/es6-class-chaos-keeps-js-developer-up )

#### Databases

- [Scaling SQLite to 4m QPS on a Single Server](https://blog.expensify.com/2018/01/08/scaling-sqlite-to-4m-qps-on-a-single-server/)

#### Other

- [GitHub's Base62 token format](https://github.blog/2021-04-05-behind-githubs-new-authentication-token-formats/)
- Battling Bottlenecks ["NTFS isn't that bad"](https://www.youtube.com/watch?v=qbKGw8MQ0i8)

#### vim

- [reddit's vimrc tips](https://www.reddit.com/r/vim/wiki/vimrctips)
- [reddit on tabstop](https://www.reddit.com/r/vim/wiki/tabstop)

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。