@@Working800 I am a self employed contractor for my previous workplace where I used to be finance Controller. Nowadays I develop accounting software for them in C#.
Reading code is just more important for a developer than writing code. It allows you to understand what the code does (which may be better than what you wanted to write), identify what part of the code needs a change (both for a new feature and for fixing a bug), and it helps you find a piece of code (hopefully that someone smarter or more experienced wrote) that already does what you want and copy it to your code base. Even when writing new code, you will read your code several times, way more that the times you need to rewrite it.
Good stuff. A beginner can simply memorise syntax, follow tutorials and copy and paste snippets. But code reading and comprehension is typically one of the main bottlenecks in learning.
This is such an important topic that most times gets overlooked. Being able to properly read code is a skill that not everybody has, even senior engineers.
Good video Tim! This is one the of things I did when I worked as an IT Support Analyst. I use to work for a company that developed it's own in house apps and the best way to troubleshoot an issue with the application was to read what the code was doing and then I could better troubleshoot the issue for the customer that way.
Great video as always Mr Tim. I have a few video suggestion if you don't mind covering it in the future and I don't know how many times have they been suggested. 1-advanced Login and registring system with email confirmation without using build-in identity system (it is too confusing ) so we know what we did and how to make changes in the future. 2- implementing payment gateways using PayPal or/and credit cards. 3- covering more about docker. and I have to apologize for asking too much but I can't find anyone else in your level when it comes to explaining complex topics like those. Thank you again and have a great day :)
Thanks for the suggestions. A couple of notes. The login system will always be complex because security is complicated and important. I am considering showing other ways of doing it, though. You definitely don't want to build your own. Payment gateways are hard because they are sensitive, specific, and have limited use in most applications. I will be covering Docker more as I cover microservices.
Good advice Tim! I just picked up a 2nd code base / 2nd .Net team at work and the first couple of months is just learning the application and walking through the code. My team spends time together just walking through a feature from screen through the controllers and views. 3 months in and my team is now fixing bugs in the new code base. I also read code from other teams and projects to pickup new ideas. Its a process. :-)
very impressive you are making very easy but very basic question, you explained very will, i want to give you advice can you a make video on self motivation.
It's always laborious and often painful to dig into a new code base 😬... we should be veeery patient to go through. Some suggestions: # *Draw diagrams* : could help to understand and put in place the abstractions and relationships between the different parts of the code and figure out the architecture; Not necessarily a complex diagramming tool is needed, a simple old school big piece of paper and a pencil could be enough. # *Debug the code* : see it working, many times is very difficult the follow the code just reading it statically, in particular for code that use many interfaces (could be complicated to figure out which implementation will be there at runtime), callbacks, or even reflection 🙆♂️ # Don't hesitate to *ask for help* : if there is the possibility of the guidance from someone who already knows the code base, TAKE ADVANTAGE OF IT; obviously it means to spend some time from that person, but would avoid hooours of code-diving and maybe avoid crashing with some walls, at the end is time won for the team. Cheers! Happy coding 🤓🤙
Lovely video content! Forgive me for chiming in, I am interested in your opinion. Have you ever tried - Millawdon Future Ticket Trick (erm, check it on google should be there)? It is an awesome one off guide for teaching children to read without the headache. Ive heard some great things about it and my friend Sam at last got amazing results with it.
Would definitely love to look through well established open source projects to see what I can learn. Though for anything non-trivial (e.g. xUnit) I've always struggled with figuring out where to start. Any tips for making sense of how these projects are organized and figuring out where the "key pieces" of code are to get started with?
another awesome video!. i must say that just last night (before of your video) i found how usefull is github. for example after taking your course of blazor i wanted to use pagination. after a lot of search i decided to look for it in github, and i certainly found what i was looking for. so i can back you up on that ;). thank you so much again and i will looking for your next video.
OK, I get your point. But I have a question. If you have it's answer, please answer.! When I started learning C# two years ago, I tried to find a book about it. A book that contains every thing about C#, but I could not find it. Why Microsoft did not issue a manual for C# that contains all it's commands, why no book that contains every thing about it ?.
That would be a very expensive book to create and maintain and you probably would not like the results. Since the language is constantly changing, the book would be out of date almost immediately. For example, in November 2019, we got Blazor Server (a new product) among other things in .NET Core 3. In May 2020 we got Blazor WebAssembly (another new product) among other things in .NET Core 3.1. Then in November 2020 we got .NET 5 with some major changes. Now coming up in November 2021, we will be getting cross-platform desktop applications, a couple new Blazor products, and a lot more. Even if they could write a book that contained everything in C#, and even if they could organize it in a way that made sense, and even if they could include enough information to make it useful, they couldn't publish it before it would be out of date. If they had published it in November 2019 (somehow getting the latest changes in print at the last minute), it wouldn't get to market until probably April or May (final proofing, printing, shipping, stocking, etc.) By that time, it would already be out of date. They do maintain docs.microsoft.com with a LOT of great information. It isn't perfect, but it is the best option we have (and a pretty good one at that - this is where I get a lot of my information from).
Really anticipating the next course with Blazor WASM. One day I wish to see you update the Advanced Dapper video with ASP.Net Core and/or Blazor sometime in the future. I've been working on a project that incorporates Dapper's usages following your examples with the latest Blazor videos on your channel. Now I'm at a crossroad of where I need to map multiple objects and trying to translate that advanced example from that video from over a year ago to a web version, which is holding me back, but once that is resolved/solved I will be able to replace EfCore out of the app altogether and escalate it's completion. A thing about readable code: sometimes Rider wants to refactor my model checks to ternary operators that is hard to read for new devs, sometimes for me. For example: "return object ??= error.Out : null;" is optimized, but takes a well seasoned dev to understand.
You can turn off those optimizations or change them to fit your style. As for the Blazor WASM course, there are four total courses that I will do on Blazor WASM. Not sure if this is the one you are looking for or not, but check it out. More will be coming soon.
@@IAmTimCorey I have almost finished the Server course and delving into the first section of the C#: WebAssembly this week. I've actually learned several subjects and added changes reflecting what was learned to the project that I was working on today.
Thank you so much for making me more polished... My understanding is PRACTISING questions and analytical and logical thinking help me to become better developer.... I agree....reading a code will help me alot....I read the way how computer read the codes... but I feel it my spoil developing my own logical thinking... Is my way thinking is correct?? Please help me proceed further 🙏🏻🙏🏻
Tim, I'm beginning with Ruby on Rails. My noob question is, "how would someone that codes well enought to get hired as a developer NOT know how to read code?". Thanks!
Folks are constantly taking short cuts in their quest to get a job and many (most) classes in schools/universities only teach code snippets or small programs, not complex systems, so often newer programmers simply don't get exposed to or forced to read other people's code. ...just my experience.
@@tomthelestaff-iamtimcorey7597 Bill Gates once said that he would always “hire a lazy person to do a difficult job” at Microsoft. I'm learning by reading and writing code but of course what I'm writing in my first month is more or less copy pasting so I decided to just copy paste and concentrate on learning to understand whats happening in this code and leaving this in the comments. I'm just completely unable to understand learning the theory out of context because it seems like something so abstract so I can only get my head around it when I see things in context. Understand how the bigger picture works. Thanks for responding.
I just saw the preview of your Blazor Web Assembly Course. Is that the only course you are going to have for Blazor Web Assembly? I was hoping it would be like Blazor Server that is more comprehensive and would teach us about how to use api and dapper in Blazor Web Assembly.
Nope. Eventually I will have four courses - Getting Started, Exploring (what I just released), In Depth, and building an application from Start to Finish.
Tim, Do you read codes on the github or you download and read them in code editors like visual studio? code reading is important but please let us know about good habbits and way to read them.
I do both. I read the code on GitHub first to see if there is something I want to study in more depth. If so, I fork the project and clone it to my PC to review it or I just download the zip file and view it that way.
@@IAmTimCorey Zookeeper is a distributed framework with a lot of source code inside. I don't know how to read the source code of this framework and absorb it, and then re-develop it?
This is the thing I am afraid of more than anything else when It comes to development. I am afraid when I get that job I won't be able to understand their code base and will opt to add new things to it over changing what's there. Reading other people's code is hard for me, especially when they have class designs I am not familiar with.
Agreed. People identify why they love one language over another and then turn the lack of love for another language into hate for the people using it. It isn't healthy. I don't like Java, but that doesn't mean I hate the developers who use it or think less of them.
I started my c# journey with your material 3 years ago. It was a gradual process which lead to career change.
Are you working right now?
@@Working800 I am a self employed contractor for my previous workplace where I used to be finance Controller. Nowadays I develop accounting software for them in C#.
@@zoltan.halasz that's great, thanks for answering
Awesome!
@@zoltan.halasz So it is possible. I'm on the same path. Did u use paid version of tutorials, if yes, is it worthy?
Reading code is just more important for a developer than writing code.
It allows you to understand what the code does (which may be better than what you wanted to write), identify what part of the code needs a change (both for a new feature and for fixing a bug), and it helps you find a piece of code (hopefully that someone smarter or more experienced wrote) that already does what you want and copy it to your code base. Even when writing new code, you will read your code several times, way more that the times you need to rewrite it.
Thanks for sharing.
Every time I slow down on learning C# you boost me to be serious again to keep going.
Thank you.
Happy to hear that!
You are always inspiring and opening up different dimensions towards learning with this series Tim. Thank you and keep up the good work.
You are welcome.
Thanks, Tim. I always appreciate your content. You're my #1 source of knowledge on RUclips.
I appreciate that! Thank you
Good stuff. A beginner can simply memorise syntax, follow tutorials and copy and paste snippets. But code reading and comprehension is typically one of the main bottlenecks in learning.
True, well said.
Both Tim and Mosh gives me a lot of helpful tips that I can use in my everyday's life in technology. Thank you very much.
You are welcome.
This is such an important topic that most times gets overlooked. Being able to properly read code is a skill that not everybody has, even senior engineers.
Thanks for watching.
Good video Tim! This is one the of things I did when I worked as an IT Support Analyst. I use to work for a company that developed it's own in house apps and the best way to troubleshoot an issue with the application was to read what the code was doing and then I could better troubleshoot the issue for the customer that way.
Thanks for sharing!
Just signed up for your c# fundamentals course. So far I am impressed.
Thanks! I hope you find more that benefits you.
Great video as always Mr Tim.
I have a few video suggestion if you don't mind covering it in the future and I don't know how many times have they been suggested.
1-advanced Login and registring system with email confirmation without using build-in identity system (it is too confusing ) so we know what we did and how to make changes in the future.
2- implementing payment gateways using PayPal or/and credit cards.
3- covering more about docker.
and I have to apologize for asking too much but I can't find anyone else in your level when it comes to explaining complex topics like those.
Thank you again and have a great day :)
Thanks for the suggestions. A couple of notes. The login system will always be complex because security is complicated and important. I am considering showing other ways of doing it, though. You definitely don't want to build your own. Payment gateways are hard because they are sensitive, specific, and have limited use in most applications. I will be covering Docker more as I cover microservices.
@@IAmTimCorey thank you Tim
I am following You.
In a kind way.
Please, keep Teaching without Selfishness 🙏
Great.
you are awesome Tim!Great contents!
Thank you!
Good advice Tim! I just picked up a 2nd code base / 2nd .Net team at work and the first couple of months is just learning the application and walking through the code. My team spends time together just walking through a feature from screen through the controllers and views. 3 months in and my team is now fixing bugs in the new code base. I also read code from other teams and projects to pickup new ideas. Its a process. :-)
Thanks for sharing!
Live long tim 🙏 Huge respect ❤️
Thanks!
Thank you Tim for all the motivation :)
You are welcome.
Tim your videos are always great and valuable. But this episode inspires me a lot. Thank you so much for your great and regard work, Tim Corey.
My pleasure!
Thanks, this inspiring me to use your tutorial for my side project idea!
Go for it! Please let me know how it works out.
This is so true!
Thank you !
You are welcome.
Thank you Tim for idea learning to read code.
Glad it was helpful!
I learned C++, from its 1st. Version.
You're Awesome, not kidding.,
Thanks.
Finally.
Be Honorable
Teach Truth.
I am, let's just say, well rounded in the "Hardware and Software", little World.
Oh, Paradigms, Personified.
very impressive you are making very easy but very basic question, you explained very will, i want to give you advice can you a make video on self motivation.
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
It's always laborious and often painful to dig into a new code base 😬... we should be veeery patient to go through.
Some suggestions:
# *Draw diagrams* : could help to understand and put in place the abstractions and relationships between the different parts of the code and figure out the architecture; Not necessarily a complex diagramming tool is needed, a simple old school big piece of paper and a pencil could be enough.
# *Debug the code* : see it working, many times is very difficult the follow the code just reading it statically, in particular for code that use many interfaces (could be complicated to figure out which implementation will be there at runtime), callbacks, or even reflection 🙆♂️
# Don't hesitate to *ask for help* : if there is the possibility of the guidance from someone who already knows the code base, TAKE ADVANTAGE OF IT; obviously it means to spend some time from that person, but would avoid hooours of code-diving and maybe avoid crashing with some walls, at the end is time won for the team.
Cheers!
Happy coding 🤓🤙
Thanks for sharing.
Lovely video content! Forgive me for chiming in, I am interested in your opinion. Have you ever tried - Millawdon Future Ticket Trick (erm, check it on google should be there)? It is an awesome one off guide for teaching children to read without the headache. Ive heard some great things about it and my friend Sam at last got amazing results with it.
I love this series! Please keep it up :)
Will do!
Your a good Man.
Thankyou.
You are welcome.
Tim, You Got It.
Do Not conform to Society/Greed.
Thank you.
Good Message !! Means a lot
Thanks!
Would definitely love to look through well established open source projects to see what I can learn. Though for anything non-trivial (e.g. xUnit) I've always struggled with figuring out where to start.
Any tips for making sense of how these projects are organized and figuring out where the "key pieces" of code are to get started with?
This course is all about doing that: ruclips.net/video/hImU2xGZ_uQ/видео.html
Great advice. Thanks you.
You are welcome.
exactly ! we dont have to invent the wheels ourselves and we can get ideas from other people codes , thanks
It is a valuable skill and perspective. Thanks for the feed back
Thank you so much
You're most welcome.
another awesome video!. i must say that just last night (before of your video) i found how usefull is github. for example after taking your course of blazor i wanted to use pagination. after a lot of search i decided to look for it in github, and i certainly found what i was looking for. so i can back you up on that ;). thank you so much again and i will looking for your next video.
Thanks for sharing!
OK, I get your point.
But I have a question. If you have it's answer, please answer.!
When I started learning C# two years ago, I tried to find a book about it. A book that contains every thing about C#, but I could not find it.
Why Microsoft did not issue a manual for C# that contains all it's commands, why no book that contains every thing about it ?.
That would be a very expensive book to create and maintain and you probably would not like the results. Since the language is constantly changing, the book would be out of date almost immediately. For example, in November 2019, we got Blazor Server (a new product) among other things in .NET Core 3. In May 2020 we got Blazor WebAssembly (another new product) among other things in .NET Core 3.1. Then in November 2020 we got .NET 5 with some major changes. Now coming up in November 2021, we will be getting cross-platform desktop applications, a couple new Blazor products, and a lot more. Even if they could write a book that contained everything in C#, and even if they could organize it in a way that made sense, and even if they could include enough information to make it useful, they couldn't publish it before it would be out of date. If they had published it in November 2019 (somehow getting the latest changes in print at the last minute), it wouldn't get to market until probably April or May (final proofing, printing, shipping, stocking, etc.) By that time, it would already be out of date.
They do maintain docs.microsoft.com with a LOT of great information. It isn't perfect, but it is the best option we have (and a pretty good one at that - this is where I get a lot of my information from).
Really anticipating the next course with Blazor WASM. One day I wish to see you update the Advanced Dapper video with ASP.Net Core and/or Blazor sometime in the future. I've been working on a project that incorporates Dapper's usages following your examples with the latest Blazor videos on your channel. Now I'm at a crossroad of where I need to map multiple objects and trying to translate that advanced example from that video from over a year ago to a web version, which is holding me back, but once that is resolved/solved I will be able to replace EfCore out of the app altogether and escalate it's completion.
A thing about readable code: sometimes Rider wants to refactor my model checks to ternary operators that is hard to read for new devs, sometimes for me. For example: "return object ??= error.Out : null;" is optimized, but takes a well seasoned dev to understand.
You can turn off those optimizations or change them to fit your style. As for the Blazor WASM course, there are four total courses that I will do on Blazor WASM. Not sure if this is the one you are looking for or not, but check it out. More will be coming soon.
@@IAmTimCorey I have almost finished the Server course and delving into the first section of the C#: WebAssembly this week. I've actually learned several subjects and added changes reflecting what was learned to the project that I was working on today.
Thanks a lot.
Most welcome!
Thank you so much for making me more polished...
My understanding is PRACTISING questions and analytical and logical thinking help me to become better developer....
I agree....reading a code will help me alot....I read the way how computer read the codes... but I feel it my spoil developing my own logical thinking...
Is my way thinking is correct??
Please help me proceed further 🙏🏻🙏🏻
Practicing, as Tim has always said, is critical to your ability to become a solid developer. Your summary sounds about right.
@@tomthelestaff-iamtimcorey7597 Thank you ☺️
thanks for your work!
You are welcome.
Tim, I'm beginning with Ruby on Rails. My noob question is, "how would someone that codes well enought to get hired as a developer NOT know how to read code?". Thanks!
Folks are constantly taking short cuts in their quest to get a job and many (most) classes in schools/universities only teach code snippets or small programs, not complex systems, so often newer programmers simply don't get exposed to or forced to read other people's code. ...just my experience.
@@tomthelestaff-iamtimcorey7597
Bill Gates once said that he would always “hire a lazy person to do a difficult job” at Microsoft.
I'm learning by reading and writing code but of course what I'm writing in my first month is more or less copy pasting so I decided to just copy paste and concentrate on learning to understand whats happening in this code and leaving this in the comments. I'm just completely unable to understand learning the theory out of context because it seems like something so abstract so I can only get my head around it when I see things in context. Understand how the bigger picture works.
Thanks for responding.
I just saw the preview of your Blazor Web Assembly Course.
Is that the only course you are going to have for Blazor Web Assembly?
I was hoping it would be like Blazor Server that is more comprehensive and would teach us about how to use api and dapper in Blazor Web Assembly.
Nope. Eventually I will have four courses - Getting Started, Exploring (what I just released), In Depth, and building an application from Start to Finish.
@@IAmTimCorey Wow amazing!! Would you do bundle pricing? Because $97 for a single course is expensive. 😬
What type of codes we should read??????
Whichever one you wanted to learn or are hired to develop in.
Tim, Do you read codes on the github or you download and read them in code editors like visual studio?
code reading is important but please let us know about good habbits and way to read them.
I do both. I read the code on GitHub first to see if there is something I want to study in more depth. If so, I fork the project and clone it to my PC to review it or I just download the zip file and view it that way.
Source code reading method, how to read a large amount of zookeeper code and absorb all of it? Thanks!
Not sure what you mean by zookeeper code.
@@IAmTimCorey Zookeeper is a distributed framework with a lot of source code inside. I don't know how to read the source code of this framework and absorb it, and then re-develop it?
This is the thing I am afraid of more than anything else when It comes to development. I am afraid when I get that job I won't be able to understand their code base and will opt to add new things to it over changing what's there. Reading other people's code is hard for me, especially when they have class designs I am not familiar with.
Practice will help you grow your confidence. The course I have coming out soon will be really helpful in building your confidence.
Addition and Logic.
Sign Math and Gate Logic, Boolean.
Again your an "Honorable Man".
Thanks.
hello
Hi!
I just want to ask. Why Java coders hate C++ or C# and C#, C++ hate java coders? :-D I know, Microsoft but still.. We should put aside that hatred.
Agreed. People identify why they love one language over another and then turn the lack of love for another language into hate for the people using it. It isn't healthy. I don't like Java, but that doesn't mean I hate the developers who use it or think less of them.
Allen Iverson disliked this video
Bummer.
thank you so much
You are welcome.