Finally! Thank you! It's amazing to see advanced concepts being taught the right way as well as having error handling included in your code! Most videos out there stay away from either of the subjects because it's hard (or they are not proficient in it), which gives junior devs a false image of how to develop real-life production-ready applications.
Thanks, some very insightful examples here. That said... IMO, example of cleaning the validation code was confounded by the use of the external package. The main point to me was that the validation code could be extracted to a module-level function, instead of being in-line to the component. Likewise, use of a library to handle the form meant that the `InputField` component was tightly coupled to this library (via the `fieldRegister` property.)
Thanks for making this. Just one doubt in the ISP example. Does'nt the UserProfileGOOD violate OCP? Currently, every time we need to add a new notification type, we have to modify the UserProfileGOOD component to include the new notification component. This violates OCP because the component is not closed for modification.
What you didn't mention regarding the showcase of OCP is that the so-called compound components are gonna double or triple the size of code. I personally don't recommend use compound components everywhere.
Curious if you prefer react hook form and zod over formik and yup for a reason or it’s just a combination you have been using and don’t need anything else?
can anyone please tell me how the SRP was being violated in the first example. I mean if we look from a feature perspective that single component was binding the login stuff and only login stuff. i mean where is the borderline. how to distinguish ?
You're thinking is right mate. Few mature tech leads would have you perform the extraction into sub components in a case like this, I think. But for a form of 20 inputs, it would make sense. Not because of srp though. Just readability. IMO anyway
@oladayoagbolade3676 not quite. This separation is an opinionated practice, wrongly packaged as SRP-related. In SRP the responsibilities are defined in terms of the app functionality, not in terms of the programming mechanics. This is a common misunderstanding in web development.
I really like your videos on clean code and this one is very useful as well. For the React Days where I was participating I would have hoped for some kind of different content, you just recycled your youtube content unfortunately. React Days Ticket costs a lot of money.
Thank you from the bottom of my heart for teaching us Advance concepts
CoderOne is... 🙂👍💯
Finally! Thank you! It's amazing to see advanced concepts being taught the right way as well as having error handling included in your code! Most videos out there stay away from either of the subjects because it's hard (or they are not proficient in it), which gives junior devs a false image of how to develop real-life production-ready applications.
Some useful VS Code extensions in this video :
1. indent-rainbow oderwat.indent-rainbow
2. Tailwind Fold stivo.tailwind-fold
indent-rainbow oderwat.indent-rainbow is obsolete. You can enable coloring in vs code settings, Editor > Bracket Pair Colorization
Great video! I'd glad watching a video talking about TDD, SOLID and Clean Arch
Love these long and well explained videos
FYI, 4:10-4:40 same cut repeated. great video!
i'am glad you give this valuable informations
Thanks, some very insightful examples here. That said...
IMO, example of cleaning the validation code was confounded by the use of the external package. The main point to me was that the validation code could be extracted to a module-level function, instead of being in-line to the component.
Likewise, use of a library to handle the form meant that the `InputField` component was tightly coupled to this library (via the `fieldRegister` property.)
Great video! What is the extension that you have that hides the components props?
I believe its the Tailwind Fold that hides the classes for readability
Thanks for making this. Just one doubt in the ISP example. Does'nt the UserProfileGOOD violate OCP? Currently, every time we need to add a new notification type, we have to modify the UserProfileGOOD component to include the new notification component. This violates OCP because the component is not closed for modification.
What you didn't mention regarding the showcase of OCP is that the so-called compound components are gonna double or triple the size of code. I personally don't recommend use compound components everywhere.
Curious if you prefer react hook form and zod over formik and yup for a reason or it’s just a combination you have been using and don’t need anything else?
What is the plugin, that collapse tailwindcss classes?
nice bro ơi. Keep it up nghen !!!
What ide are you using to code? it's so beautiful...
thank you... but what is the point of using CLASS in Dependency Inversion principle? i can handle it by usual arrow functions
thank you
Please explain the solid principle with Angular 17 🎉❤
can anyone please tell me how the SRP was being violated in the first example. I mean if we look from a feature perspective that single component was binding the login stuff and only login stuff. i mean where is the borderline. how to distinguish ?
You're thinking is right mate. Few mature tech leads would have you perform the extraction into sub components in a case like this, I think. But for a form of 20 inputs, it would make sense. Not because of srp though. Just readability. IMO anyway
In SRP, it’s advisable to separate the logic from the UI. That’s why the first example was BAD
Love it!!
@oladayoagbolade3676 not quite. This separation is an opinionated practice, wrongly packaged as SRP-related. In SRP the responsibilities are defined in terms of the app functionality, not in terms of the programming mechanics. This is a common misunderstanding in web development.
semantic violation
useContext should use the result of createContext which in turn will be called contextDropdown
he cannot use the provider))))
Shit, so am doing solid all this while 😅 I guess my OCD has some advantages
Why use tsx with barely any use of typescript?
I really like your videos on clean code and this one is very useful as well. For the React Days where I was participating I would have hoped for some kind of different content, you just recycled your youtube content unfortunately. React Days Ticket costs a lot of money.
Oh boy, if && () BAD pattern, again ...