Skip to main content

Workflow

Think Before You Code

  • What is the objective?
  • Does the code have a logical basis for achieving the objective?
  • Break the action down into smaller steps -- is each step feasible?
  • Besides the benefits, what are the downsides?

Prefer Fewer Mistakes Over Speed

  • When your understanding is unclear, ask before reaching a conclusion
  • Estimate the effort required and check whether the schedule is feasible
  • Simply estimating effort without simulating whether it can be achieved with current resources will cause stalling at some point
  • Refactoring absolutely requires test scripts. Perform incremental refactoring and testing cycles
  • Modifying code without understanding it leads to bugs
  • Automate experiment management with tools like mlflow to reduce manual operations, which in turn reduces human error

For Smooth Remote Project Progress

  • Create data generation scripts and figure generation scripts separately, and make figure generation runnable with a single command (You will forget the steps if you use Excel)
  • Document your program explanations thoroughly. Use README and wiki for collaboration and your own future reference
  • Distinguish between correlation and causation. Events driven by the same factor or intervening variables may be correlated (spurious correlation), but that does not mean they have a cause-and-effect relationship (causation).