Skip to content

Latest commit

 

History

History
43 lines (22 loc) · 3.53 KB

README.md

File metadata and controls

43 lines (22 loc) · 3.53 KB

How-to-write-a-Good-Software

Note for USERS: @Reach me via naveenkumar5892@gmail.com 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.