Skip to content

Latest commit

 

History

History
45 lines (25 loc) · 1.84 KB

CONTRIBUTING.md

File metadata and controls

45 lines (25 loc) · 1.84 KB

Contributing

First off, thank you for considering contributing to MetalPetal.

Pull Requests

If you know exactly how to implement the feature being suggested or fix the bug being reported, please open a pull request instead of an issue. Pull requests are easier than patches or inline code blocks for discussing and merging the changes.

If you can't make the change yourself, please open an issue after making sure that one isn't already logged.

Contributing Code

Fork this repository, make your change (preferably in a branch named for the topic), send a pull request.

  • Pull requests should contain small, incremental change.

  • Code must compile without warnings or static analyzer warnings.

  • The committer is responsible for addressing any problems found in the future that the change may cause.

  • Follow the API Design Guidelines

  • Run test.sh before sending a pull request.

API Design Guidelines

Objective-C

Basically, you should follow Apple's Objective-C Conventions as well as Coding Guidelines for Cocoa.

Additionally:

  • Use NS_ENUM or NS_OPTIONS for enumerations.

  • All interfaces should be marked with nullability annotations.

  • Always review the generated Swift interfaces, make sure that every single API conforms to the Swift API Design Guidelines. Use NS_SWIFT_NAME / NS_SWIFT_UNAVAILABLE / NS_REFINED_FOR_SWIFT whenever needed.

Swift

Follow the Swift API Design Guidelines.