Tech
matklad's 'don't let public functions call public functions' rule sparks debate
Several commenters push back that the rule is not universal
3
Nov 1 3:03 AM
· 10d ago · 1 post · 1 comment · 2 sources · development 3 of 4
david_chisnall describes building layered public APIs in C/C++ where higher-level convenience functions intentionally call lower-level public functions, and ohrv notes Rust's Vec has many public methods calling other public methods for safety and reuse reasons.
“I’m not sure I agree with this. I tend to build public APIs in layers.”
david_chisnall
matklad Blog post author andrewrk Lobsters commenter azimux Lobsters commenter david_chisnall Lobsters commenter
The whole story posts
the bright band is this development · numbered dots are the others · click one to jump
Peak 7 pieces in 3h at Nov 1, 7 AM; 29 pieces over 13 days (5 posts · 24 comments)
Oct 29, 2 PM — 1 piece · 1 post — Hacker News 1 Oct 29, 5 PM — quiet Oct 29, 8 PM — quiet Oct 29, 11 PM — quiet Oct 30, 2 AM — quiet Oct 30, 5 AM — 1 piece · 1 post — Hacker News 1 Oct 30, 8 AM — quiet Oct 30, 11 AM — quiet Oct 30, 2 PM — quiet Oct 30, 5 PM — quiet Oct 30, 8 PM — quiet Oct 30, 11 PM — quiet Oct 31, 2 AM — quiet Oct 31, 5 AM — quiet Oct 31, 8 AM — quiet Oct 31, 11 AM — 2 pieces · 1 post · 1 comment — Lobsters 2 Oct 31, 2 PM — 3 pieces · 3 comments — Lobsters 3 Oct 31, 5 PM — 4 pieces · 4 comments — Lobsters 4 Oct 31, 8 PM — 1 piece · 1 post — Hacker News 1 Oct 31, 11 PM — quiet Nov 1, 1 AM — 1 piece · 1 comment — Lobsters 1 Nov 1, 4 AM — 4 pieces · 1 post · 3 comments — Lobsters 3, Hacker News 1 Nov 1, 7 AM — 7 pieces · 7 comments — Lobsters 7 Nov 1, 10 AM — quiet Nov 1, 1 PM — 1 piece · 1 comment — Lobsters 1 Nov 1, 4 PM — quiet Nov 1, 7 PM — quiet Nov 1, 10 PM — quiet Nov 2, 1 AM — 2 pieces · 2 comments — Lobsters 2 Nov 2, 4 AM — quiet Nov 2, 7 AM — quiet Nov 2, 10 AM — quiet Nov 2, 1 PM — quiet Nov 2, 4 PM — quiet Nov 2, 7 PM — quiet Nov 2, 10 PM — quiet Nov 3, 1 AM — quiet Nov 3, 4 AM — quiet Nov 3, 7 AM — quiet Nov 3, 10 AM — quiet Nov 3, 1 PM — quiet Nov 3, 4 PM — 2 pieces · 2 comments — Lobsters 2 Nov 3, 7 PM — quiet Nov 3, 10 PM — quiet Nov 4, 1 AM — quiet Nov 4, 4 AM — quiet Nov 4, 7 AM — quiet Nov 4, 10 AM — quiet Nov 4, 1 PM — quiet Nov 4, 4 PM — quiet Nov 4, 7 PM — quiet Nov 4, 10 PM — quiet Nov 5, 1 AM — quiet Nov 5, 4 AM — quiet Nov 5, 7 AM — quiet Nov 5, 10 AM — quiet Nov 5, 1 PM — quiet Nov 5, 4 PM — quiet Nov 5, 7 PM — quiet Nov 5, 10 PM — quiet Nov 6, 1 AM — quiet Nov 6, 4 AM — quiet Nov 6, 7 AM — quiet Nov 6, 10 AM — quiet Nov 6, 1 PM — quiet Nov 6, 4 PM — quiet Nov 6, 7 PM — quiet Nov 6, 10 PM — quiet Nov 7, 1 AM — quiet Nov 7, 4 AM — quiet Nov 7, 7 AM — quiet Nov 7, 10 AM — quiet Nov 7, 1 PM — quiet Nov 7, 4 PM — quiet Nov 7, 7 PM — quiet Nov 7, 10 PM — quiet Nov 8, 1 AM — quiet Nov 8, 4 AM — quiet Nov 8, 7 AM — quiet Nov 8, 10 AM — quiet Nov 8, 1 PM — quiet Nov 8, 4 PM — quiet Nov 8, 7 PM — quiet Nov 8, 10 PM — quiet Nov 9, 1 AM — quiet Nov 9, 4 AM — quiet Nov 9, 7 AM — quiet Nov 9, 10 AM — quiet Nov 9, 1 PM — quiet Nov 9, 4 PM — quiet Nov 9, 7 PM — quiet Nov 9, 10 PM — quiet Yesterday, 1 AM — quiet Yesterday, 4 AM — quiet Yesterday, 7 AM — quiet Yesterday, 10 AM — quiet Yesterday, 1 PM — quiet Yesterday, 4 PM — quiet Yesterday, 7 PM — quiet Yesterday, 10 PM — quiet Today, 1 AM — quiet Today, 4 AM — quiet Today, 7 AM — quiet Today, 10 AM — quiet Today, 1 PM — quiet Today, 4 PM — quiet Today, 7 PM — quiet Today, 10 PM — quiet
1–2 3–4
Oct 30 Oct 31 Nov 1 Nov 2 Nov 3 Nov 4 Nov 5 Nov 6 Nov 7 Nov 8 Nov 9 yesterday now · 11:36 PM ET
What people said 1 voice · verbatim
E
Or you could do whatever makes the most sense at a given moment and then when the circumstances change, refactor your code so it keeps making the most sense under the new circumstances
All 4 developments of matklad's 'don't let public functions call public… →
Hacker News Lobsters