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
Christopher
@bradley1492
@Stevegolden12 many thanks for the tips. I think I was looking for the align-self property, which I didn't really know before. I was looking for a way to let one flex item break out of the defined behaviour from the flex-container.
Jonathan Cunanan
@jcunanan05
Anyone tried pdf creation with signature drawing? How / what tools did you use to achieve this? Thanks!
Been seeing pdf libraries for a while now
Johnny
@JohnnyBizzel
@jcunanan05 I once used something called PdfSharp / MigraDoc. Signature? I think you can insert an image.
Jonathan Cunanan
@jcunanan05
Thank you @JohnnyBizzel
siliconchild
@siliconchild

@siliconchild
I'm a novice in Javascript, I just know basic DOM stuff and to build such projects. I thought I would challenge myself and create a Calculator without following any tutorial. The code I wrote after hours of trying was super messed up and hacky, it was a miracle it worked at all.

I wanted to write better cleaner code, I had seen and followed Practical JS before where one Build as todlist app as an object, this is the only OOPS Experience I had, I also watched and followed a Video on Classes and Static Functions. I decided to delete my existing code and write a better codebase using Classes
here is my attempt at it https://codepen.io/siliconpen/pen/pqogNy
Please give me inputs, there could be a a lot of places where my code is reductant
I would love to learn where this code can be improved and optimized, on top of that please let me know if my documentation is any good, this is my first attempt at adding explanatory comments

Johnny
@JohnnyBizzel
@siliconchild Does it work?
I notice it does work occasionally if you don't make mistakes.
Note that you have chosen a hard challenge to start your learning. The calc has many cases and conditions which need validation.
It might be your experience but you don't seem to have considered any of these validation problems.
I like the styling. :)
siliconchild
@siliconchild
@JohnnyBizzel yes I'm yet to work on the edge cases, This is a simple calculator. What i need critique is on the how the code is put together, how can it be optimized, is the way i implemented the code using classes the right way to do it? I wonder what is the difference between using object literals vs singleton classes. when to use which.
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