#HJava projects
1 messages · Page 1 of 1 (latest)
<@&987246399047479336> please have a look, thanks.
Here is an AI assisted attempt to answer your question 🤖. Maybe it helps! In any case, a human is on the way 👍. To continue talking to the AI, you can use </chatgpt:1108714622413963314>.
Some essential things that every Java project should have include:
- Clear project requirements and specifications to ensure that the project meets the intended goals.
- Proper documentation for code readability and maintainability.
- Unit tests for ensuring the functionality of the code.
Useful links:
- Following coding conventions.
- Agreement on coding style
- Following principles like KISS, DRY
If that's what you mean. Or do you want to hear tools that you should be using?
Then definitely a build tool.
There really aren't any "musts" in any project imo. Each project has its own requirements, scopes and limitations. You can make educated guesses, but there's no way to know that kind of stuff before the project has started.
There are the things that Domme mentioned, which are general good practices, but even those can be omitted in some projects for various reasons. So I would say don't focus on what every project should have, focus on what your specific project needs.
I've worked on projects with crazy time constraints and requirements, and in those cases things like coding style and architecture are often overlooked to just "get things done" as fast as possible. Even if it sucks, it's sometimes needed.
Yeah, in only like 10% of the projects you actually invest into QA and have all things like these I mentioned. All other 90% are just "devs work on it and ship it ASAP, the code can be cleaned up later" which of course almost never happens.
determining the scope of a project is critical. apps are different, there is no "silver bullet" for EVERY project
but determining the scope of a project (its needs, the expected lifetime of the app, etc..) is something all devs should do
itll give you an idea of what domains are involved (networking, graphics, data), which will help you find the tooling youll need
it also helps with deadlines. without defining the scope of a project, you may add features that arent necessary ("added a cool search feature"), while neglecting features that are (forgot to add security to a module)