Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Aug 17 09:32
    User @bjorno43 unbanned @linkin-park
  • Jun 20 21:19
    @bjorno43 banned @shenerd140
  • Apr 25 17:13
    @mstellaluna banned @cmal
  • Jan 08 22:05
    @mstellaluna banned @dertiuss323
  • Nov 07 2018 04:42
    User @texas2010 unbanned @ows-ali
  • Nov 02 2018 16:25
    @texas2010 banned @ows-ali
  • Oct 12 2018 05:50
    @bjorno43 banned @NACH74
  • Oct 05 2018 23:02
    @mstellaluna banned @JomoPipi
  • Sep 16 2018 12:21
    @bjorno43 banned @yash-kedia
  • Sep 16 2018 12:16
    @bjorno43 banned @vnikifirov
  • Sep 05 2018 08:12
    User @bjorno43 unbanned @androuino
  • Sep 05 2018 07:38
    @bjorno43 banned @androuino
  • Aug 23 2018 16:57
    User @bjorno43 unbanned @rahuldkjain
  • Aug 23 2018 16:23
    @bjorno43 banned @rahuldkjain
  • Jul 29 2018 14:13
    User @bjorno43 unbanned @jkyereh
  • Jul 29 2018 01:00
    @bjorno43 banned @jkyereh
  • Jul 10 2018 22:09
    @bjorno43 banned @manafn
  • Jul 06 2018 15:20
    @texas2010 banned @imlegend19
  • Jul 03 2018 12:28
    @bjorno43 banned @vbvmatta
  • Jun 29 2018 13:54
    @bjorno43 banned @OGTechnoBoy
Johnny
@JohnnyBizzel
@siliconchild Where would you put the input validation?
No idea?
Then in my opinion. It is over egging the pudding to do it all in Classes.
siliconchild
@siliconchild
@JohnnyBizzel The only validation i have now is checking if user enters multiple decimal points and ignoring it.
Edge cases I'm going to work on next is
  1. if user uses equates in between the calculation stops and needs to be reset now, need to continue the chain even when equate is used
  2. if the user presses the operator twice as in 5+*4, changing that to 5 x 5 instead of code breaking.
Johnny
@JohnnyBizzel
I can read it because I come from C# programming which was also OOP. So if it is just an exercise in trying out OOP style then yes, well done it - looks good.
@siliconchild I asked where you would put validation. See if we are on the same page.
siliconchild
@siliconchild
@JohnnyBizzel this is my first attempt at making anything with classes at all, should i just use object literals and use classes when i understand oops better?
Johnny
@JohnnyBizzel
@siliconchild I want to see if you understand your own code :P
siliconchild
@siliconchild
@JohnnyBizzel my validation is currently in the event object
i thought that made sense
Johnny
@JohnnyBizzel
@siliconchild Should be in the Calc class in my opinion
 if (Calc.operatorMemory === undefined) {
            Calc.operatorMemory = operator;
        }

        if (Calc.sum === undefined) {
            Calc.sum = input;
        } else...
Here somewhere I would have thought
I would recommend a Regular Expression test
siliconchild
@siliconchild
@JohnnyBizzel could you tell me why, I imagine the event object as something that captures user input with proper validation and passes that to the calc object to do the math. Could you tell me why putting the validation in Calc is the way to do it?
Johnny
@JohnnyBizzel
Ok where exactly? How would you fix the user pressing 2 = + 4
siliconchild
@siliconchild
2 = +4 should be treated as 2+4 right?
Johnny
@JohnnyBizzel
Yes
siliconchild
@siliconchild
equates just returns the sum, so 2 = should return 2 and then +4 should add 4 to the sum which is 2
Johnny
@JohnnyBizzel
So the user can't change their mind about the operator and there is no UI feedback on this
siliconchild
@siliconchild
I have to think through about validation and where to place it, thanks for making me think about it
Johnny
@JohnnyBizzel
I think you are right about doing it in the Event class
siliconchild
@siliconchild
2=+4 and 2+x4 is different right @JohnnyBizzel
Johnny
@JohnnyBizzel
However I went straight to the Calc class as I thought logically this is where it should be??
siliconchild
@siliconchild
2 =+4 should be 6 and 2+x4 should be 8
Johnny
@JohnnyBizzel
Yep
Also -2 - 5 = ?
NaN
Some users have a (+-) button to change the number to a negative or positive.
(I didn't)
I just detected it in my code
siliconchild
@siliconchild
yeah a seperate +/- button seems easier to implement as -2+-5 seems challenging to implement as it gets confused with -2+-5 as just -2-5, like the user changed the operator
could you tell me about object literal vs singleton class
the answers i find online are too techincal
and beyond my current understanding
also about adding comments, does my comments make sense? is this the way to explain code or can you tell me what I'm doing wrong there
Johnny
@JohnnyBizzel

could you tell me about object literal vs singleton class

I was going to ask you! If you can explain it, it means you understand it.

Comments are great. You are a rare example to many coders who don't bother commenting!!
I would say some are not necessary (for me) but if you are in the habit of writing comments, stick at it!
siliconchild
@siliconchild
Thank You, From my understanding you use classes when you need to create multiple instances of an object, when you just need one and only one instant, a object literal with methods and a class with singleton functions seem similar in utility
I'm confused which is to use when
Johnny
@JohnnyBizzel
Object literals you see everywhere these days
Very useful
Singleton class I think means you can only have once instance of that class
This is used a lot these days with modules in node for example
So you get lots of plugins for node that add functionality to your code -
These should be imported once and from then on you refer to that one instance of the module.
siliconchild
@siliconchild
@JohnnyBizzel yes classes that has one instance, i believe. these classes don;t need to be instantiated and can be used like object literals
Johnny
@JohnnyBizzel
Yes - a good technique to learn
siliconchild
@siliconchild
@JohnnyBizzel sorry i didn't understand their difference, only that node modules seem to use singletons. can you tell me what makes sense in my code, is it object literals and if so why?