This week we were just focused in HyperSkill and our Lightning-talk. I really learned new things developing the Cinema REST project. I would have liked to do HyperSkill before the To-Do App. I complemented my understanding of Spring, abstraction, and some features of Java.
HyperSkills
All this week I have been working on the Cinema REST project. It has some differences from the To-Do App but I feel it complimented my understanding. There were some details of Java Languages that I applied but I didn't know the reason why it was like that. For example, Why does Java double and Double? Now I know that Java manages some primitive values and a wrapper Class.
Something that I like form this opportunity is the capability to understand details what I couldn't understand before. In HyperSkill I did some exercises of Inheritance using polymorphism, super(), and interfases. There I revalue some concepts like: how to call the Object when I do an instance from a Class? it's a reference type. Also, I couldn't comprise the function of the interface, but now I get it. I'm still confused about when to use interface or polymorphism or another type of Inheritance. I think with some exercises and experience I'll get better at the concepts.
I would like to share a paragraph from a section in the project where they gave some recomendations to manage the bugs in Code.
As you see, you don't have to be alone with your code that won't work for whatever reason: there are many great sources out there that can help. If you wonder how to handle exceptions in Java, try StackOverflow, but “how do I reverse a linked list” is a good question for GeeksForGeeks. The last fundamental advice is this: use your brain and don't panic. Finding and correcting your errors might be frustrating, but once you get the hang of it, it becomes easier and starts seeming more like a routine than a catastrophe.
Many times in To-Do App I got stuck from bugs in my code or situations I couldn't understand without help. I know I'm learning new things and can be frustrating but It's good to know that it's normal to feel like that when you start programming.
Talking about bugs, I also want to share some recommendations to reduce the number of bugs:
- Understanding the requirements of the program
- Following the standards of the language
- Building a clear-cut architecture of the program
- Checking the program with boundary values
- Using automated tests
I'm still learning how to make a test. I think all these recommendations are perfect to check when I found a problem in my code.
Back to the TopLightning-talks
This week I prepared my second Lightning-talk. I chose SOLID principles because this was a topic someone told me to check while I was writing my BackEnd for the ToDo app.
Solid is a set of rules and best practices to follow while designing a class structure. These five principles help us understand the need for certain design patterns and software architecture in general. So I believe that it's a topic that every developer should learn.
Next, I want to tell you the 5 principles:
- The Single Responsibility Principle
- The Open-Closed Principle
- The Liskov Substitution Principle
- The Interface Segregation Principle
- The Dependency Inversion Principle
I felt I did a better job in this presentation beacuse I was a little less nervious. I think my worst enemy are my feelings when I'm nervious. I hope the next presentation I feel it more natural.
Back to the Top