2
\$\begingroup\$

I am a self taught developer that codes for fun, and I created a project that almost certainly has terrible code in it, but I would like someone who knows what they're doing (i.e. not me) to help me find the major issues with my codebase. Now this would sound like the ideal place to ask that question but my codebase is ~3000 lines and has many many files. Is this the right place to ask, and if so should I just post a link to my github? Of course I am not expecting anyone to look through the entire codebase I just want an overview of things that I could do better so I can avoid them in future.

Thanks in advance.

\$\endgroup\$
  • \$\begingroup\$ Relevant links here, here and here. \$\endgroup\$ – Mast Dec 31 '19 at 9:26
  • \$\begingroup\$ And here, here and probably others. If those don't answer your question, please leave a comment. If it doesn't and you don't have an answer by the end of the day (EU time) I'll get back to you. \$\endgroup\$ – Mast Dec 31 '19 at 9:26
  • 2
    \$\begingroup\$ 3000 lines is not a "large" codebase by any measure. It starts to get large when you get into the six-digit lines of code, anything below 10kLoC I would classify as small, anything below 100kLoC as medium. I've worked on codebases that had multiple 3kLoC files. \$\endgroup\$ – Vogel612 Dec 31 '19 at 11:52
  • \$\begingroup\$ @Vogel612 I know it's not large on the scale of things (it's just a hobby project so it will never pass 20k) but it is large for code review. It's not as if people post that length of code much here (from my limited experience). \$\endgroup\$ – Jachdich Dec 31 '19 at 13:20
  • \$\begingroup\$ I don't know, people have asked some pretty big questions around here. Have you considered posting it in 2 logically divided parts to make it fit? Again, we have a limit of 65536 characters per post. \$\endgroup\$ – Mast Dec 31 '19 at 17:51
7
\$\begingroup\$

It's hard to answer this kind of question without knowing very much about your specific code.

But basically, a single question can contain 65,536 characters. This should of course also include a description of what your code is doing.

If all your code doesn't fit within these constraints, that's okay. You don't have to post your whole code at once.

I would recommend splitting the review of your code up into some more easily graspable chunks. This is a common thing to do on this site. Maybe you have one part that handles core logic, one part that handles certain requirements, one database layer, one view layer, one integration to something else... how to separate your code into more digestible chunks depends on what your project is. You know best how to possibly break it down into separate questions.

When posting multiple questions relating to the same project, there are some important things to keep in mind:

  • Don't post all questions at once. It would flood the front page and people are likely to get tired of seeing your code over and over again in a short period of time. Additionally, it is very likely that reviews you get from one question can be applied to code that you have not posted for review yet. I would recommend at least three to seven days between questions, to give people a time to answer and for you to apply the answers from one question to the rest of your code.
  • Include the bigger picture. State in all your questions what the project is, and the role of the current piece of code in the project.
  • Link all previously posted related questions. So that people can see what you have been told earlier and read up on what you have posted before.
  • Link to repository with all the code. So that someone who is very eager can see the whole code you've written and maybe get a head-start with helping you with all the code.
\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .