As programmers, we often work with specific types of files and I have found that many simple and useful practices and patterns exist that involve the use of a certain type of file. This can range from the usage of .toml or .ini files to store configuration details for a piece of software to how makefiles are used to automate building C and C++ programs, or how we make use of .yaml files to configure CI/CD or even the extremely simple example of including a requirements.txt file in python source code for others to install dependencies.
From my experience, often having knowledge of these practices involving files can be very useful in giving one a clearer image of the ever evolving field as a whole. As this provides us with more knowledge of common industry practices, some of which may be very eye-opening (eg: Build Automation comes in very many forms across different development platforms and often we may see shell-scripts used for automating builds rather than third party tooling).
Due to the often simple nature of these practices it can be easily explained at the surface level in manageable chunks. An anecdote from my experience would be when I stored an API key as a constant in my source code, and was told to instead make use of a .env file and read from it.
As such my question to you all is:
What are some common practices involving files do you make use of or that you think new programmers should be aware of?
What file formats do you often see used for certain tasks like configuration, automation, etc?