A
A
Arkhip Zharov2019-06-20 13:10:42
code review
Arkhip Zharov, 2019-06-20 13:10:42

Can you help me evaluate the project?

Currently I am looking for a job in the office, I am working on the front, there is only one educational project in my resume: https://github.com/shiftenko/lime-test , the rest are on the way. Can you please help me understand what can be corrected or improved there, in addition to what is indicated in Projects, so that it looks better in the eyes of the employer? There, in general, its functionality is described, except that I will add that it is made for phones, narrow phones, tablets and PCs, and there is also a basket page. We need a code review for everything that is not related to CSS.
Hope for your help guys.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
N
ned4ded, 2019-06-20
@shiftenko

Good afternoon.
Not bad for an educational project, I think. How much programming experience do you have in general and web development in particular?
There are a few elements that I would do differently in vue:
1) Use vuex. event-bus is useful in some places (so as not to clog the store, for example), but to work with any complex api (which your data folder is an emulation of) it is simply necessary. Well, along with it, I would rework the project structure (using modules, more convenient structuring of components, etc.). Well, what is this "search-overlay-active-notify-dark-backgr-in-header"?
3) I would correct some spelling errors: stor, imgAndHerInstancesSizes, сont
4) I would not send the data object to props. First, you can get confused. Second, the data should be as flat as possible.
5) I would not put a setter into the computed property, which has a rather complex logic. There are methods for executing such logic. In general, computed properties should be as simple as possible. No need to shove asynchronous imports into them, this is already overkill.
6) Wouldn't use localstorage to store intermediate calculations. After all, vuex exists to manage state.
7) Wouldn't complicate the rendering logic of TheCartNotEmpty, why not just do it through if?
8) Wouldn't change the DOM directly. When you look for elements in your spa through document.querySelector, then you clearly have design problems)
9) Would rename the components according to one of the accepted conventions . What is TheNews, RptNewsItem? NewsComponent, NewsItemComponent. Not to mention TheContainer, TheActions, whose names make no sense.
10) Get rid of string templates. Make them a separate component.
In general, for js:
1) I would get rid of nested if.
2) Would not use the delete operator to remove properties from an object.
Well, you can consider some of these comments as a matter of taste, "opinionated" as our foreign colleagues would write, but maybe you can take out something useful for yourself)
ps, I didn’t look at everything thoroughly, I checked 5-6 files.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question