Skip to content

This repository shows the various tools required to develop high-quality software.

Notifications You must be signed in to change notification settings

NaveenKaliannan/guide-to-good-software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How-to-write-a-Good-Software

Note for USERS: @Reach me via [email protected] if you are interested in contributing to this repository.

Tools to develop a good software: A dynamic, multidisciplinary team with experience in both software development and problem solving. The main benefits of teamwork include brainstorming for ideas, personal and professional support, code review, and knowledge sharing and transferrring.

OS for scientific computing purpose: Linux

Tools to store your user id and password: KeePass

Tools to store data (Example: databases, email, file and .. etc.) : data store

Tools that offers version control for the source code or mainting source codes : GITLAB - Cheat sheet, GITHUB - Cheat sheet

Tools that offers version control for the Binaries or Executables : JFrog Artifactory

Tools to quickly build, test, deploy and run applications: Docker

Tools to scale up/down applications: Kubernetes

Tools to developing, scheduling, and monitoring batch-oriented workflows : Apache Airflow

Tools for autonomous building, testing, deploying, CI/CD: Jenkins

Gnuplot templates to create high quality graphics and graphs: xy plots, Mutliple xy plots, histogram

Tools to format the source code: Black, flake8 for Python, Pylint for Python, shfmt for shell script, autopep8, Scalafmt for Scala

Tools to find the unused source code : Vulture, Pyflakes, Pylint

Tools to make good poster and nice graphical images: scribus, GIMP

Tools to format (add, insert, remove and rotate, split, merge or zip) pdf files: pdftools

Tools to maintian databases : SQL, Python Pandas

Tools to convert programming languages : jiphy

Read Parquet data : parquet-tools

Read Json data : Python Pandas

Note Different types of data format used in software development: JSON (stores simple data structures), Parquet (designed for efficient data storage and retrieval). For big data, processing parquet data will be faster.

About

This repository shows the various tools required to develop high-quality software.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published