conv.

← The whole story
Tech
matklad's 'don't let public functions call public functions' rule sparks debate

Several commenters push back that the rule is not universal

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 authorandrewrk Lobsters commenterazimux Lobsters commenterdavid_chisnall Lobsters commenter

The whole story postscomments 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 1Oct 29, 5 PM — quietOct 29, 8 PM — quietOct 29, 11 PM — quietOct 30, 2 AM — quietOct 30, 5 AM — 1 piece · 1 post — Hacker News 1Oct 30, 8 AM — quietOct 30, 11 AM — quietOct 30, 2 PM — quietOct 30, 5 PM — quietOct 30, 8 PM — quietOct 30, 11 PM — quietOct 31, 2 AM — quietOct 31, 5 AM — quietOct 31, 8 AM — quietOct 31, 11 AM — 2 pieces · 1 post · 1 comment — Lobsters 2Oct 31, 2 PM — 3 pieces · 3 comments — Lobsters 3Oct 31, 5 PM — 4 pieces · 4 comments — Lobsters 4Oct 31, 8 PM — 1 piece · 1 post — Hacker News 1Oct 31, 11 PM — quietNov 1, 1 AM — 1 piece · 1 comment — Lobsters 1Nov 1, 4 AM — 4 pieces · 1 post · 3 comments — Lobsters 3, Hacker News 1Nov 1, 7 AM — 7 pieces · 7 comments — Lobsters 7Nov 1, 10 AM — quietNov 1, 1 PM — 1 piece · 1 comment — Lobsters 1Nov 1, 4 PM — quietNov 1, 7 PM — quietNov 1, 10 PM — quietNov 2, 1 AM — 2 pieces · 2 comments — Lobsters 2Nov 2, 4 AM — quietNov 2, 7 AM — quietNov 2, 10 AM — quietNov 2, 1 PM — quietNov 2, 4 PM — quietNov 2, 7 PM — quietNov 2, 10 PM — quietNov 3, 1 AM — quietNov 3, 4 AM — quietNov 3, 7 AM — quietNov 3, 10 AM — quietNov 3, 1 PM — quietNov 3, 4 PM — 2 pieces · 2 comments — Lobsters 2Nov 3, 7 PM — quietNov 3, 10 PM — quietNov 4, 1 AM — quietNov 4, 4 AM — quietNov 4, 7 AM — quietNov 4, 10 AM — quietNov 4, 1 PM — quietNov 4, 4 PM — quietNov 4, 7 PM — quietNov 4, 10 PM — quietNov 5, 1 AM — quietNov 5, 4 AM — quietNov 5, 7 AM — quietNov 5, 10 AM — quietNov 5, 1 PM — quietNov 5, 4 PM — quietNov 5, 7 PM — quietNov 5, 10 PM — quietNov 6, 1 AM — quietNov 6, 4 AM — quietNov 6, 7 AM — quietNov 6, 10 AM — quietNov 6, 1 PM — quietNov 6, 4 PM — quietNov 6, 7 PM — quietNov 6, 10 PM — quietNov 7, 1 AM — quietNov 7, 4 AM — quietNov 7, 7 AM — quietNov 7, 10 AM — quietNov 7, 1 PM — quietNov 7, 4 PM — quietNov 7, 7 PM — quietNov 7, 10 PM — quietNov 8, 1 AM — quietNov 8, 4 AM — quietNov 8, 7 AM — quietNov 8, 10 AM — quietNov 8, 1 PM — quietNov 8, 4 PM — quietNov 8, 7 PM — quietNov 8, 10 PM — quietNov 9, 1 AM — quietNov 9, 4 AM — quietNov 9, 7 AM — quietNov 9, 10 AM — quietNov 9, 1 PM — quietNov 9, 4 PM — quietNov 9, 7 PM — quietNov 9, 10 PM — quietYesterday, 1 AM — quietYesterday, 4 AM — quietYesterday, 7 AM — quietYesterday, 10 AM — quietYesterday, 1 PM — quietYesterday, 4 PM — quietYesterday, 7 PM — quietYesterday, 10 PM — quietToday, 1 AM — quietToday, 4 AM — quietToday, 7 AM — quietToday, 10 AM — quietToday, 1 PM — quietToday, 4 PM — quietToday, 7 PM — quietToday, 10 PM — quiet 1–23–4
Oct 30Oct 31Nov 1Nov 2Nov 3Nov 4Nov 5Nov 6Nov 7Nov 8Nov 9yesterdaynow · 11:36 PM ET

What people said 1 voice · verbatim

All 4 developments of matklad's 'don't let public functions call public… →

Hacker NewsLobsters