Skip to content

Instantly share code, notes, and snippets.

View spaceghost69's full-sized avatar
🏠
wfh

John McMahon spaceghost69

🏠
wfh
View GitHub Profile
@siordache
siordache / MultiCommit.java
Last active November 7, 2019 21:49
Committing multiple files with github-api (PR #361 - https://github.com/kohsuke/github-api/pull/361)
import org.apache.commons.io.IOUtils;
import org.kohsuke.github.*;
import java.net.URL;
public class MultiCommit {
public static void main(String[] args) throws Exception {
String userId = "your-user-id";
String password = "your-password";
String repoName = "your-repo-name";
@zsup
zsup / ddd.md
Last active April 17, 2024 14:35
Documentation-Driven Development (DDD)

Documentation-Driven Development

The philosophy behind Documentation-Driven Development is a simple: from the perspective of a user, if a feature is not documented, then it doesn't exist, and if a feature is documented incorrectly, then it's broken.

  • Document the feature first. Figure out how you're going to describe the feature to users; if it's not documented, it doesn't exist. Documentation is the best way to define a feature in a user's eyes.
  • Whenever possible, documentation should be reviewed by users (community or Spark Elite) before any development begins.
  • Once documentation has been written, development should commence, and test-driven development is preferred.
  • Unit tests should be written that test the features as described by the documentation. If the functionality ever comes out of alignment with the documentation, tests should fail.
  • When a feature is being modified, it should be modified documentation-first.
  • When documentation is modified, so should be the tests.