Timeline for How to structure big Node.JS modules
Current License: CC BY-SA 3.0
23 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
S Jan 28, 2016 at 13:49 | history | bounty ended | Maru | ||
S Jan 28, 2016 at 13:49 | history | notice removed | Maru | ||
Jan 28, 2016 at 13:48 | vote | accept | Maru | ||
Jan 27, 2016 at 0:12 | answer | added | UncleMatty | timeline score: 1 | |
Jan 20, 2016 at 20:26 | history | tweeted | twitter.com/StackProgrammer/status/689906754767945728 | ||
Jan 20, 2016 at 17:15 | comment | added | Maru |
Think the following: you get an error on your productive terminal which says error: "value" not defined on line 3974:16 . What part is broken? Is it critical and you have to open an emergency and work on it immediately or is it a small thing which does not really concern anyone that much and which can wait until next week? You add a breakpoint and the debugger starts to wildly jump thousands of lines for and back. You have to always take a look where you are now and how the code path unfolds
|
|
Jan 20, 2016 at 17:09 | comment | added | Maru | I am working with VS2013+NTVS. Selecting functions from a list is possible (just checked). But this does not feel clean. It's just a workaround in order to find functions and methods, but does not give any relation between them at all. It's like you put all your clothes onto one big pile and then use a giant sieve to find your socks. You don't do that at home, do you? You place them all neatly into your drawers separated by what purpose they serve. Well, at least I do that :) | |
Jan 20, 2016 at 16:58 | comment | added | Robert Harvey | Perhaps this is merely an IDE problem or educational problem then. In Intellij you can choose a method in a module from a list; this is true of many other IDEs as well. See stackoverflow.com/a/11840760/102937 | |
Jan 20, 2016 at 16:52 | comment | added | Maru | ten thousand lines is not that much when you have to implement many things, like type checks, async handling, logging,... and all the error management this produces together with high demands like ASVS security measures and the like :) | |
Jan 20, 2016 at 16:49 | comment | added | Maru | I do not think that would be a big improvement. I want to get rid of this one huge scrolling-monster by introducing smaller files with a more precisely categorized content. I am working a lot on the different modules and the different methods in them and keeping track of how they interact with what is getting more and more difficult. I often find myself scrolling for minutes until I find what I was really looking for. Having a small file whiich only contains code which belongs together seems to me like the best solution. Just the how is something I am not that sure about... | |
Jan 20, 2016 at 16:42 | comment | added | Robert Harvey | If the IDE you're using doesn't already have a dropdown listing the methods in the module, make yourself a spreadsheet that lists the methods along with their (approximate) line number positions. Or, break your module into smaller modules with less methods. This isn't a difficult problem, nor is it a matter of best practice; you need to organize your code in a way that suits your work style. By the way, ten thousand lines seems like a lot for a single module (though maybe not, in Javascript). | |
Jan 20, 2016 at 16:41 | comment | added | Maru | About twenty public and private methods with additional helper functions. | |
Jan 20, 2016 at 16:39 | comment | added | Robert Harvey | How many methods are in your ten thousand lines of code? | |
Jan 20, 2016 at 16:38 | comment | added | Maru | My focus for this question is on how the files interact with each other. Is it a good idea to scatter the code? Is there a better way to divide my big code file into many smaller ones? Will the require-lines in the index-file cause more confusion later on than they bring merit? Google did not yield anything interesting when I searched for how to organize my module with ten thousand lines so that I do not have to constantly use search just to find a method (not the search term I used, but do you get what I am trying to do, now?) | |
Jan 20, 2016 at 15:53 | comment | added | Robert Harvey | Incidentally, Googling your question title yielded a number of interesting results, including this one which mentions Dependency Injection, the first thing I thought of when I saw your question. | |
Jan 20, 2016 at 15:41 | comment | added | Robert Harvey |
The problem is that I easily lose overview in the core modules. -- What does this sentence mean?
|
|
Jan 20, 2016 at 15:41 | history | edited | Robert Harvey | CC BY-SA 3.0 |
deleted 1 character in body
|
Jan 20, 2016 at 15:40 | comment | added | Robert Harvey | See also Are Design Review questions on-topic? | |
Jan 20, 2016 at 15:36 | comment | added | Robert Harvey | The reason that your question didn't get much attention when you asked it is because it is too broad. Questions like "Am I right?" and "Is this a good approach?" seldom make good questions, because we don't know what your specific criteria is for "right" or "good," which means we have to write a very long answer to cover every positive or negative possibility. Real questions have answers; I suggest you focus your question on a more specific problem. Otherwise, the answer is "yes, if it meets your requirements." | |
S Jan 20, 2016 at 15:07 | history | bounty started | Maru | ||
S Jan 20, 2016 at 15:07 | history | notice added | Maru | Draw attention | |
Jan 18, 2016 at 14:01 | review | First posts | |||
Jan 29, 2016 at 15:34 | |||||
Jan 18, 2016 at 14:00 | history | asked | Maru | CC BY-SA 3.0 |