onlinepersona@programming.dev 11 months ago
TL;DR I look at the package first, before opening it. Unfortunately, often the packaging says a lot about the project
- A proper README
- A section in the README about how to setup a dev environment - without that it’s often just a guessing game I don’t have time for
- A section in the README about how to deploy or run the project
- Test cases that actually mean something, not just boilerplate
assert true
- Some kind of CI setup with steps for code quality (lint, format, type checking, …)
- Documentation generation
- Pull/merge requests / external project activity
Some programming languages still have either no tooling or communities that shun it. C, C++ and PHP come to mind. Many projects from those languages are written by old folk, people who only use editors (vim, emacs, nano, …) that don’t come with tooling out of the box, or assume a might amount of things about dev machines. They are languages and communities I shun.
Go, Python, Rust, Typescript, and other languages are chock-full of developer tooling with people using IDEs or at least editors with extensions/plugins for improved developer lives. Especially Rust and Typescript are often setup with a bunch of tooling that has to be actively ignored by the developer. Often it’s much easier to get started, run the project, run tests, read the code, load it into an IDE or editor with advanced language support (goto definition, refactoring, integrations for running and testing code, …).
MonkderZweite@feddit.ch 11 months ago
Software brittleness
Preferable to not require a special setup.
Lucky@programming.dev 11 months ago
Even if you don’t have a special setup, having a section telling you that is still a helpful thing to quickly assess a new project.
I appreciate knowing that a project should Just Work with minimal setup so I don’t have to guess or make assumptions