nanyang-system-developers

Simple Automation Guidelines for Student Developers

Overview

Tired of typing the same things over and over, or making the same mouse movements, whenever you run a test, or push a feature?

As programmers, we can write code to carry out these steps, interactively or non-interactively. The environment in which we run programs is called a shell, and many shells also support some form of scripting.

Common shells and scripting languages

You can save your scripts and run/invoke them from the shell/command line, carrying out many steps with a single stroke!

Automation

On your own computer, you can schedule your scripts to run at regular intervals.

On platforms such as GitHub Actions, or Google Cloud Run, scripts can be configured to run on certain triggers.

For example, the NYJC Computing static site has some GitHub Actions configured to test the Markdown files, deploy (publish) them, and synchronize upstream changes to downstream branches.

Key Principles

When creating small to medium applications, automation should help make your development process easier without adding unnecessary complexity.

1. Start Simple

2. Maintain Control

3. Focus on Development Tasks

4. Test Before Implementing

Best Practices

  1. Documentation
    • Write clear comments in automation scripts
    • Document how to run processes manually
    • Keep instructions simple and direct
  2. Testing
    • Test automated processes thoroughly
    • Have a way to verify results
    • Keep test runs simple and focused
  3. Maintenance
    • Review automation scripts regularly
    • Update as project needs change
    • Remove unused automation

Implementation Tips

  1. Start with basic task runners
  2. Use built-in IDE automation features
  3. Keep scripts in a single, organized location
  4. Test frequently during development

Remember: For small-to-medium-scale projects, simple and reliable automation is better than complex systems. Focus on automating tasks that directly help your development process.