Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 1,350 tasks, 405 draft tasks, and is aware of 996 languages, though we do not (and cannot) have solutions to every task in every language.
cljfmt is a tool for detecting and fixing formatting errors in Clojure code.
Its defaults are based on the Clojure Style Guide, but it also has many customization options to suit a particular project or team.
It is not the goal of the project to provide a one-to-one mapping between a Clojure syntax tree and formatted text; rather the intent is to correct formatting errors with minimal changes to the existing structure of the text.
If you want format completely unstructured Clojure code, the zprint project may be more suitable.
Credo is a static code analysis tool for the Elixir language with a focus on teaching and code consistency.
It can show you refactoring opportunities in your code, complex code fragments, warn you about common mistakes, show inconsistencies in your naming scheme and - if needed - help you enforce a desired coding style.
You can use Docker with the Dev Containers extension in a few ways:
- Docker installed locally.
- Docker installed on another machine or remote environment.
- You only need Docker installed on the remote host, rather than Docker installed locally.
- Other Docker compliant CLIs, installed locally or in a remote environment.
- For instance, Rancher Desktop is another way to install Docker, providing container management and Kubernetes on Windows, macOS, and Linux.
- Since Rancher Desktop supports Docker CLI via Moby, you can use Dev Containers extension with it. You may learn how to get started in Rancher Desktop's guide.
- Dev Containers interacts with CLIs; it makes no assumptions about how a container engine works and does not interact with container engines or daemons directly.
- Note that other Docker compliant CLIs are not officially supported.
Continue reading to learn alternate ways you can install and use Docker or a Docker compliant CLI.
- VSCode extension: Dev Containers
- GitHub - microsoft/vscode-remote-release: Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
- Visual Studio Code Remote Development
- Developing inside a Container using Visual Studio Code Remote Development
The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.
pytest requires: Python 3.8+ or PyPy3.
PyPI package name: pytest
pip install pytest
Längst wird das Konzept, Infrastruktur und Konfigurationen textuell in Form von Code zu beschreiben und zu versionieren, großflächig in Projekten eingesetzt. Auch deshalb entstand ein Ökosystem an Tools und Frameworks, die die Möglichkeit bieten, mittels einer DSL oder gar Programmiersprachen wie Java, Python oder TypeScript Infrastruktur zu programmieren. Durch Infrastruktur-Code ergeben sich viele Vorteile wie Wiederverwendbarkeit einzelner Komponenten, verbesserte Konsistenz, Erhöhung des Automatisierungsgrades im Projekt, sowie Transparenz gegenüber dem reinen Konfigurieren per Oberfläche.


VSCodeVim is a Vim emulator for Visual Studio Code.
-
🚚 For a full list of supported Vim features, please refer to our roadmap.
-
📃 Our change log outlines the breaking/major/minor updates between
releases. -
Report missing features/bugs on GitHub.
docToolchain is composed of two parts:
-
doctoolchain which is the toolchain used to create your documentation
-
the docToolchain shell wrapper script installed in your project which calls the toolchain
The use of this setup has the following advantages:
-
It’s easy to build your documentation within your project folder.
-
Ensures that everyone in the project uses the same docToolchain version.
-
Keeps all docToolchain technology out of your project repository.
-
Facilitates the installation of the docToolchain if not installed.
-
Makes it easier to upgrade to never versions of docToolchain.

Forgejo is a self-hosted lightweight software forge.
Easy to install and low maintenance, it just does the job.
Brought to you by an inclusive community under the umbrella of Codeberg e.V., a democratic non-profit organization, Forgejo can be trusted to be exclusively Free Software. It includes and cooperates with hundreds of projects (Gitea, Git, ...) and is focused on scaling, federation and privacy.
Create awesome docs the easy way!
docToolchain is a collection of scripts that makes it easy to create and maintain powerful technical documentation. Built on best-of-breed open source technologies, we deliver the best docs toolchain so you don’t have to.

VSCodeVim is a Vim emulator for Visual Studio Code.
- 🚚 For a full list of supported Vim features, please refer to our roadmap.
- 📃 Our change log outlines the breaking/major/minor updates between releases.
- Report missing features/bugs on GitHub.
The Settings editor is the UI that lets you review and modify setting values that are stored in a settings.json file. You can review and edit this file directly by opening it in the editor with the Preferences: Open Settings (JSON) command. Settings are written as JSON by specifying the setting ID and value.
![]()
Vale is an open-source, command-line tool (, , and ) that brings your editorial style guide to life.
When I say "Legacy Code" I mean valuable code you're afraid to change.
We all have to deal with Legacy Code. But it's damn hard to!
Here you'll find answers to your questions. I'm sharing useful tips and concrete advice that will help you tame the legacy codebase you've inherited.
Change Messy Software Without Breaking It
Do you document your code? Imagine that you need to get back to your code in 6 month after you wrote it, there is always a big possibility that you will have to spend some time to find out how this code works. Or if someone else wrote some code, which is already in production and your task is to fix a bug in it and there is no documentation and no one actually knows what this code does.
There are more benefits of implementing continuous documentation for the code:
easy to onboard new team members,
easy to share knowledge,
if this code is open source - easy to start contributing,
easy to see purpose and motivation of each piece of code,
easy to keep versioning for each new release of the code.
It this talk I will show the difference between documentation types and will show a demo in the end of the talk.
Eigentlich wollte ich diesen Text Dokumentation von Code nennen, mir ist aber beim Schreiben aufgefallen, dass dieses Thema viel grösser ist.
Mich wurmt das Thema Dokumentation schon seit meines Studiums. Wir haben viel von Projektorganisationstechniken, wie Agile, Wasserfall oder V-Modell gelernt. Wir haben DevOps in einer Tiefe besprochen, dass es einem schon wieder an den Ohren auslief. Aber das Thema Dokumentation wurde immer nur sehr holzschnittartig betrachtet.
Jedes Mal, wenn es zur Sprache kam, wurde nur auf Softwaresysteme, wie JavaDoc, Doxygen und PHPdoc verwiesen. Damit dokumentiert man Code. Nicht zu viel, damit nicht bei jeder Änderung die Dokumentation angepasst werden muss und nicht zu wenig, sodass es praktisch nutzlos für das Verständnis wird. Für den „Rest“ gibt es UML, einen Standard der sehr präzise ist, aber derartig wenig Freiraum lässt, dass ich praktisch niemanden kenne, der ihn Standardkonform verwendet. Klassendiagramme sind dabei mein Lieblingskonstrukt, sie werden sehr schnell unübersichtlich ab einer gewissen Projektgröße, sodass man sich durch verschiedene Ebenen der Abstraktion bewegt, man aber ohne wochenlange Einarbeitung an der geistigen Speicherkapazität scheitert, wenn man in der dritten Ebene angekommen ist und nicht mehr weiß, was man ursprünglich suchte.
Ein Drama in mehr als 40 Wörtern.
Eine großangelegte Umfrage zu Open Source zeigt, dass unvollständige oder verwirrende Dokumentation zu den Hauptproblemen freier Software zählt [1]. Das gilt neben Anwendungsdokumentation insbesondere auch für technische Dokumentation, etwa von Softwarearchitektur. Diese Aussage können wir sicherlich verallgemeinern: schlechte Dokumentation von Software erschwert Änderung, Support und letztlich auch Nutzung. Wir möchten hier auf technische Dokumentation von Software abzielen, also beispielsweise Entwicklungs-, Architektur- und Betriebsdokumentation. Das Thema Anwendungsdokumentation klammern wir bewusst aus.
Unserer Erfahrung nach behindern eine ganze Reihe von Faktoren die Erstellung und kontinuierliche Pflege technischer Dokumentation:
- Ungeeignete Werkzeuge, die ursprünglich nicht für die Erstellung und Pflege solcher Dokumentation gedacht waren.
- Geringe Motivation seitens der Entwicklungsteams, oftmals verstärkt durch die oben genannten Defizite der entsprechenden Werkzeuge.
- Unklare Vorstellung über Struktur, Form und Inhalt von Dokumentation: Entwicklungsteams haben keine klare Vorstellung davon, was und wie sie dokumentieren sollen.
- Schlechte Vorlagen ("Templates") für Dokumentation.