Skip to content
This repository has been archived by the owner on Jan 30, 2024. It is now read-only.

document best practices to keep projects lean and easy to debug #128

Open
maxheld83 opened this issue Jan 10, 2019 · 1 comment
Open

document best practices to keep projects lean and easy to debug #128

maxheld83 opened this issue Jan 10, 2019 · 1 comment
Labels
class website graded-1 graded task, roughly worth 1 story point resources issues concerning learning resources software carpentry

Comments

@maxheld83
Copy link
Member

instead of improving debugging #125, it's better not to have to debug so much in the first place.
Keeping the design of your project (from a simple document to a large piece of software) lean, and lightweight (not so many dependencies) and a bunch of other strategies can help you spend more time doing, and less time debugging.

Here too, it'd be great to add a bunch more resources, best practices and links to the website.

Below some of my suggestions from todays class.

@maxheld83 maxheld83 added graded-1 graded task, roughly worth 1 story point resources issues concerning learning resources class website software carpentry labels Jan 10, 2019
@maxheld83
Copy link
Member Author

  1. Use as few tools in your toolchain as possible. Don't be afraid to go minimal. Consider not whether an addition would be "nice to have", but whether it's worth the inevitable cost in complexity.
  2. Use well-established tools that do few things, and do them well. Tie them together. No monolothic tools that do everything.
  3. Make upgrading really easy and systematic.
  4. Rely on established software. Newcomers need to prove themselves first. Consider name recognition of contributors, reputation of projects, organisations and activity on github.

There are also "pro" steps to go about this, though these add their own complexity to a project:

  1. Use a continous integration / continuous delivery service (such as Travis CI). This gives you an "official" benchmark system against which to test.
  2. Migrate to a VM or containerised solution.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
class website graded-1 graded task, roughly worth 1 story point resources issues concerning learning resources software carpentry
Projects
None yet
Development

No branches or pull requests

1 participant