How Do I Learn to Read Code? Why Should I Learn to Read Code?

Reading code is an incredibly important skill for a developer to have. Whether you are debugging your own code, learning the code at a new job, or looking to learn a new skill, your skills at reading code will determine your ability to succeed. In this video, we will talk about how to read code and why it is so important.
Podcast: iamtimcorey.com/p/podcast
Mailing List: signup.iamtimcorey.com/
Purchase Courses: iamtimcorey.com

Пікірлер: 115

  • @zoltan.halasz
    @zoltan.halasz3 жыл бұрын

    I started my c# journey with your material 3 years ago. It was a gradual process which lead to career change.

  • @Working800

    @Working800

    3 жыл бұрын

    Are you working right now?

  • @zoltan.halasz

    @zoltan.halasz

    3 жыл бұрын

    @@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#.

  • @Working800

    @Working800

    3 жыл бұрын

    @@zoltan.halasz that's great, thanks for answering

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Awesome!

  • @emaus8344

    @emaus8344

    3 жыл бұрын

    @@zoltan.halasz So it is possible. I'm on the same path. Did u use paid version of tutorials, if yes, is it worthy?

  • @jayeshchauhan5064
    @jayeshchauhan50643 жыл бұрын

    You are always inspiring and opening up different dimensions towards learning with this series Tim. Thank you and keep up the good work.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @omriliad659
    @omriliad6593 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks for sharing.

  • @stratman1234
    @stratman12343 жыл бұрын

    Thanks, Tim. I always appreciate your content. You're my #1 source of knowledge on KZread.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    I appreciate that! Thank you

  • @faisalalhoqani6151
    @faisalalhoqani61513 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    My pleasure!

  • @rekarpc98
    @rekarpc983 жыл бұрын

    Every time I slow down on learning C# you boost me to be serious again to keep going. Thank you.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Happy to hear that!

  • @pragyasingh3100
    @pragyasingh31003 жыл бұрын

    Thank you Tim for all the motivation :)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @CodeFreak1981
    @CodeFreak19813 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks for sharing!

  • @Zakawat
    @Zakawat3 жыл бұрын

    This is so true! Thank you !

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @yashobantadash6670
    @yashobantadash667011 ай бұрын

    you are awesome Tim!Great contents!

  • @IAmTimCorey

    @IAmTimCorey

    11 ай бұрын

    Thank you!

  • @codingwithgyver1637
    @codingwithgyver16373 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @Alite4daday
    @Alite4daday3 жыл бұрын

    Just signed up for your c# fundamentals course. So far I am impressed.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks! I hope you find more that benefits you.

  • @94keegan
    @94keegan3 жыл бұрын

    I love this series! Please keep it up :)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Will do!

  • @labeh3750
    @labeh37503 жыл бұрын

    Great advice. Thanks you.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @mikemac7408
    @mikemac74083 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    True, well said.

  • @boneyabraham7506
    @boneyabraham75063 жыл бұрын

    Thank you Tim for idea learning to read code.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Glad it was helpful!

  • @wpatyune1631
    @wpatyune16313 жыл бұрын

    Thanks, this inspiring me to use your tutorial for my side project idea!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Go for it! Please let me know how it works out.

  • @yogij17
    @yogij173 жыл бұрын

    Live long tim 🙏 Huge respect ❤️

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks!

  • @CyberAbyss007
    @CyberAbyss0073 жыл бұрын

    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. :-)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks for sharing!

  • @thanju1993
    @thanju19933 жыл бұрын

    Good Message !! Means a lot

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks!

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    Your a good Man. Thankyou.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @viruslab1
    @viruslab13 жыл бұрын

    thanks for your work!

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    You are welcome.

  • @kimfom
    @kimfom2 жыл бұрын

    Thank you so much

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    You're most welcome.

  • @InakiEsteve
    @InakiEsteve Жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks for watching.

  • @azstech3530
    @azstech3530 Жыл бұрын

    thank you so much

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    You are welcome.

  • @claudiomanzoliz4378
    @claudiomanzoliz43783 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks for sharing!

  • @otmanm4095
    @otmanm40953 жыл бұрын

    Thanks a lot.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Most welcome!

  • @cicher
    @cicher3 жыл бұрын

    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 🤓🤙

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Thanks for sharing.

  • @liufox4394

    @liufox4394

    3 жыл бұрын

    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.

  • @dyakobaram
    @dyakobaram3 жыл бұрын

    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 :)

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    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.

  • @dyakobaram

    @dyakobaram

    3 жыл бұрын

    @@IAmTimCorey thank you Tim

  • @Tsunami14
    @Tsunami143 жыл бұрын

    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?

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    This course is all about doing that: kzread.info/dash/bejne/mn2ht5Sxd73FpbQ.html

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    I am following You. In a kind way. Please, keep Teaching without Selfishness 🙏

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Great.

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    I learned C++, from its 1st. Version. You're Awesome, not kidding.,

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks.

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    Finally. Be Honorable Teach Truth. I am, let's just say, well rounded in the "Hardware and Software", little World. Oh, Paradigms, Personified.

  • @speededucation686
    @speededucation6862 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    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/

  • @mortezaacademia1720
    @mortezaacademia17203 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    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.

  • @MaryamAv
    @MaryamAv3 жыл бұрын

    exactly ! we dont have to invent the wheels ourselves and we can get ideas from other people codes , thanks

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    It is a valuable skill and perspective. Thanks for the feed back

  • @johncraig5979
    @johncraig59793 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    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.

  • @johncraig5979

    @johncraig5979

    3 жыл бұрын

    @@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.

  • @friendlyfox2189
    @friendlyfox21893 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Nope. Eventually I will have four courses - Getting Started, Exploring (what I just released), In Depth, and building an application from Start to Finish.

  • @friendlyfox2189

    @friendlyfox2189

    3 жыл бұрын

    @@IAmTimCorey Wow amazing!! Would you do bundle pricing? Because $97 for a single course is expensive. 😬

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    Tim, You Got It. Do Not conform to Society/Greed.

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thank you.

  • @LastMomentMan
    @LastMomentMan3 жыл бұрын

    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 ?.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    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).

  • @bigchunk1
    @bigchunk13 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Practice will help you grow your confidence. The course I have coming out soon will be really helpful in building your confidence.

  • @mahalakshmikanagaraj6630
    @mahalakshmikanagaraj66303 жыл бұрын

    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 🙏🏻🙏🏻

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    3 жыл бұрын

    Practicing, as Tim has always said, is critical to your ability to become a solid developer. Your summary sounds about right.

  • @mahalakshmikanagaraj6630

    @mahalakshmikanagaraj6630

    3 жыл бұрын

    @@tomthelestaff-iamtimcorey7597 Thank you ☺️

  • @Ayo.Ajisafe
    @Ayo.Ajisafe2 жыл бұрын

    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!

  • @tomthelestaff-iamtimcorey7597

    @tomthelestaff-iamtimcorey7597

    2 жыл бұрын

    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.

  • @Ayo.Ajisafe

    @Ayo.Ajisafe

    2 жыл бұрын

    @@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.

  • @kanglei7807
    @kanglei78072 жыл бұрын

    Source code reading method, how to read a large amount of zookeeper code and absorb all of it? Thanks!

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Not sure what you mean by zookeeper code.

  • @kanglei7807

    @kanglei7807

    2 жыл бұрын

    @@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?

  • @amanlally4205
    @amanlally42052 жыл бұрын

    What type of codes we should read??????

  • @IAmTimCorey

    @IAmTimCorey

    2 жыл бұрын

    Whichever one you wanted to learn or are hired to develop in.

  • @mikediaz9033
    @mikediaz9033 Жыл бұрын

    Addition and Logic. Sign Math and Gate Logic, Boolean. Again your an "Honorable Man".

  • @IAmTimCorey

    @IAmTimCorey

    Жыл бұрын

    Thanks.

  • @MrFalcon58199
    @MrFalcon581993 жыл бұрын

    hello

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Hi!

  • @RootofEvilify
    @RootofEvilify3 жыл бұрын

    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.

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    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.

  • @dingoDogMan
    @dingoDogMan3 жыл бұрын

    Allen Iverson disliked this video

  • @IAmTimCorey

    @IAmTimCorey

    3 жыл бұрын

    Bummer.