Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I once heard a saying something like "If your class is getting too big and too complex, then refactor it into a couple or a few smaller classes."</p> <p>I would strongly suggest you take something along this approach until you are more experienced. This will allow you to really get a feel for when functionality needs to be broken up. If you try to over-engineer your project without any experience to guide you, then you are sure to make lots of missteps. I found that some people get so caught up in the principles and practices they start implementing designs that are very speculative. By speculative I mean that they might think "well later on we might want to add robust authentication", so they design everything to support that. The "additional anticipated future" features list quickly grows huge, and you will find yourself designing for all kinds of scenarios. You will run into problems like "how do I get this particular class to both be compatible with my future authentication service and my future monitoring service." You will bang your head against the wall trying to solve problems which are not even relevant to your first release.</p> <p>If you take my advice though, it is important that after you get a prototype up in running, that you then take a serious look at your design. Now is the time that you can look at larger classes, and ask yourself if they make sense. One test is to imagine how easy it would be to explain the usage of the class to someone else. If it is complex or quirky, then a redesign may be in order. If they are too big and serving more than one purpose, then breaking it apart is probably appropriate.</p> <p>The important thing to remember about design practices is that certain techniques should only be applied where appropriate. Don't try to force your application into a certain architecture or design if it doesn't fit well. You will learn these things with experience and time. The best thing you can do is practice. Don't spend too much time over thinking things, if you dive right in, you will find plenty of opportunities to reflect on your techniques. You obviously have the right mindset already of trying to do things the "right" way, which is good. Just don't over do it.</p> <p>There are lots of "patterns and practices" out there. </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload