Modding/Coding standard

From SDG Wiki
< Modding
Revision as of 16:50, 20 February 2018 by User (talk | contribs)
Jump to: navigation, search

Template:Ambox/Guide

To keep things consistent with UE4 and Unturned your code should adhere to Epic's Coding Standard wherever possible. Here are some additional code styles to follow that aren't covered in that article at the time of writing:

Class Layout

Classes should first be organized by visibility:

  1. public
  2. protected
  3. private

Within each category members should be sorted by:

  1. Constructors
  2. Properties
  3. Operators
  4. Functions
  5. Interfaces

Delegate Naming

Delegate names should be past tense and suffixed with Signature e.g. FItemAddedSignature. Event dispatchers should be prefixed with On and functions bound to them prefixed with Handle. For example HandleItemAdded would be bound to OnItemAdded.

Documentation

Functions should be documented for doxygen in this format:

/**
 * Explain what the method does.
 * @param NumAttempts - Explain this parameter.
 * @return Was the attempt succesful? Explain the returned value.
 */
UFUNCTION(BlueprintCallable)
bool TryToDoSomething(int32 NumAttempts);

Parameter Naming

Inputs should be prefixed with "In" and outputs with "Out". The exception is setter functions in which case "New" should be prefixed. For example:

bool DoSomething(UPARAM(Ref) const FInputData& InData, FOutputData& OutData);
UStaticMesh* Mesh;
void SetMesh(UStaticMesh* NewMesh);