Skip to content

Instantly share code, notes, and snippets.

@jianminchen
Created March 14, 2018 17:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jianminchen/0674860acc4c3af0c6304e1aae1e0866 to your computer and use it in GitHub Desktop.
Save jianminchen/0674860acc4c3af0c6304e1aae1e0866 to your computer and use it in GitHub Desktop.
code review comment - object-oriented design - factory pattern etc.
I write an email to give some feedback on object-oriented design code review, the peer stayed up to 2:30 AM to
implement the factory pattern and sent me an email early in the morning 2:30 AM.
Here is the email I wrote to give me review:
March 14, 2018
Dear ...,
I read your email and also code. Overall I like to see the business rules are defined in your words, and user
cases are defined in your function spec. But I am not sure if this practice is old school style. I may be wrong,
sorry for my honesty feedback.
You reminded me the elevator simulation algorithm I did last year in the contest. I ended up staying later 4:30 AM.
So here is my coding blog:
http://juliachencoding.blogspot.ca/search?q=elevator+simulation
So here is the discussion panel:
https://www.hackerrank.com/contests/womens-codesprint-3/challenges/elevator-simulation/forum
Here is the discussion panel about the algorithm. Every business rule is determined by players as a user case, so we
have to define how many user cases in your design, otherwise you will fail test cases.
I like to refer you to those discussion, one of test cases is wrong, then the publisher apologized for the error.
I like to say that it is good idea to get involved in the community like hackerrank contest, some of problems are
totally object-oriented design, you have to go through exactly the process of system design, define how to scale,
storage, define user cases, and also data structure and algorithm design. There are unknown test cases to pass.
Remember that I may have some hacker spirit, and behave like a warrior (https://www.youtube.com/watch?v=SwdJnc94uQY);
that is what I believe and just share with you. I do not worry about too much factory pattern or implementation.
Sometimes you know that the job market is so competitive, you cannot expect that the project is waterfall style, you
even do not have time to think about the pattern and you have to figure out the business rule you miss and hidden test
case you can not pass, how to scale is more important these days, like I did in the contest, staying later up to 4:30 AM
to try to score something to improve my ranking, just business-minded and stay agressive.
That is just my opinion, you can be very intelligent that you are believed that you can apply any pattern you want, if
you have time, you have interest, and also you think that it is right thing to do.
Sincerely,
jianmin chen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment