Add Code Guidelines - #7110
Conversation
Doesn't really need to be specified but just incase.
Co-authored-by: Philip Dubé <159546+serprex@users.noreply.github.com>
|
@Pepe20129 The Original Source rule covers most of Counts in
Under "aside from removing differences previously introduced", those 385 read as debt to be deleted. I don't think that's the intent. Suggest naming the three cases instead:
2 is the one worth being explicit about, since the right answer is usually 3 — |
this is outdated, see 2ship or LightHouse for where we'd like to be, where they avoid direct CVar usage in decomp entirely |
|
Agreed, dropping 2. That leaves: port bug the original doesn't have → inline, no gate; everything else → VB point in Worth stating that positively in the section — "no direct CVar usage in |
Stuff that is UB should ideally be documented upstream (they have an
I believe that
and
is enough to convey that. |
|
relevant: #7149 |
thanks |
Imo, they're generally easier to read when the age condition is first
Also general usefulness
|
One case the Original Source section has no category for: streamed audio.
As written the clause forbids something already merged and shipping. Is the intent that port-only features carrying per-note state are a third category, or that they should move out of |
Again, the idea is that the only changes in the
As for the fact that it's already merged and shipping, the |
|
Follow-up on the same section: does the rule require literally #6668 does what your second option describes. Audio generation lives entirely in extern bool SOH_MidiTranslator_ProcessNote(...);
extern void SOH_MidiTranslator_NoteDisabled(int noteIndex);28 of its 29 files are port code and nothing is decided in |
|
|
Add
docs/CODE_GUIDELINES.md, this is a draft PR as there's still a lot of discussion to be had.Currently the line about using libultra types over std ones is commented out as there's no consensus on it.
Github slightly messed up the rendering in the PR view, here's the correct rendering.
Build Artifacts