Clean Code - Uncle Bob / Lesson 3

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 259

  • @RabidHobbit
    @RabidHobbit 3 ปีที่แล้ว +151

    I very much appreciate how the speaker takes time to warm up the audience's brains before beginning the session's topic. Great idea for a long lecture.

    • @redhotbits
      @redhotbits 3 ปีที่แล้ว +2

      no!

    • @esteban4983
      @esteban4983 3 ปีที่แล้ว +7

      @@redhotbits yes!

    • @anthonypoleski1220
      @anthonypoleski1220 2 ปีที่แล้ว +4

      I really like that perspective. I also always get really interested in what he goes on about.

    • @monkeyaround2066
      @monkeyaround2066 2 ปีที่แล้ว +1

      Except that his concept of genetics and biology is quite wrong. Ha ha. He only conveys it as if he knows what he’s talking about.

    • @donutzlidla7769
      @donutzlidla7769 2 ปีที่แล้ว +1

      @@monkeyaround2066 Can you explain what is wrong ty

  • @tracynnnn
    @tracynnnn 2 ปีที่แล้ว +16

    NOTES -- (Standards, Expectations, & Ethics)
    - So far, it seems the rate of programmers in the world double every 5 years. That means at any given time, half of the programmers in the world have less than 5 years of experience. It's important these programmers have a set of standards to abide by
    - Don't Ship Shit: Make your code work and as best as possible before shipping it. When we buys products, we don't accept 20% of it to be defective
    - Always be ready: At the end of every iteration/sprint, the code should be shippable, deployable (Technically, not from a business perspective aka it can be under-featured)
    -- Testing, documentation, everything for current set of features is done
    - Stable Productivity: The length of the project shouldn't affect your rate of productivity. We slow down because we make a mess
    - Inexpensive Adaptibility: The cost of the change should be proportional to the size of the change
    - Continuous Improvement: The code should improve over time
    - Fearless Competence: Don't be afraid to touch or improve the code. Conquer the fear with tests
    - We will not dump on QA: QA is not the group to find bugs, they should find nothing. QA should be at the start of the process
    -- Automate over manual testing
    - Nothing Fragile: We need to cover for eachother, we need to behave like a team. Pair enough so you can cover for eachother
    - Honest Estimates: Start by defining the shape of what we don't know. Give an estimate of 3 numbers: the best case, the average case (How it usually goes), and the worst case

  • @willd0g
    @willd0g 3 ปีที่แล้ว +9

    I’m not a programmer but I’m learning a lot about the day in the life of a programmer. My deepest sympathies! Tough gig.

  • @headoverbars8750
    @headoverbars8750 4 ปีที่แล้ว +150

    I wish they made this class a requirement...I am reading the book simultaneously and wish I had this stuff instilled in me from college

    • @matthewenderle8880
      @matthewenderle8880 3 ปีที่แล้ว

      Which book? I can't recall the name.

    • @Mailliw103
      @Mailliw103 3 ปีที่แล้ว +3

      @@matthewenderle8880 Clean Code is the title I believe

    • @shapedsilver3689
      @shapedsilver3689 3 ปีที่แล้ว +3

      I had a class that required it. We only read portions for the class, but I read the rest on my own

    • @GraveGround
      @GraveGround 3 ปีที่แล้ว

      Yup. I was handed this book among others the first day of work, never heard it mentioned during my studies ;/

    • @Sarah-uh8wy
      @Sarah-uh8wy 2 ปีที่แล้ว

      Wishing the same. How was it not? smh

  • @Serafiniert
    @Serafiniert 4 ปีที่แล้ว +154

    "You see the picture here?"
    I wish I did....

    • @kinvain
      @kinvain 4 ปีที่แล้ว +3

      The picture was shown before. It's the hands holding a huge pile of papers.

  • @unitycoin_original
    @unitycoin_original  5 ปีที่แล้ว +54

    0:00 Start
    0:23 About our genetic origins.
    9:36 I am your new CTO / About the growth rate of programmers and it effects.
    17:25 Expectations / We will Not Ship Shit.
    21:36 We will always be ready / Iteration Length.
    25:51 Stable Productivity.
    28:14 Inexpensive Adaptability / The software must be changeable.
    30:38 Continuous Improvement / The code should improve over time.
    31:46 Fearless Competence / Conquer the fear with Test.
    42:35 We will not dump on QA / QA will find nothing.
    46:30 Automation!
    51:20 We cover for each other / Teamwork.
    55:40 Introduction to "Honest Estimates".

    • @hulladek3
      @hulladek3 4 ปีที่แล้ว +1

      pls add a 0:00 start
      so topics will show up in the seekbar

  • @GauravSehrawat8888
    @GauravSehrawat8888 3 ปีที่แล้ว +45

    Bit late to realize, it's actually walk through of his book clean code.
    Nice to have it handy on your side since the editing is missing the point. 😁
    All the examples are from the book.

  • @PinheiroJaime
    @PinheiroJaime 4 ปีที่แล้ว +134

    Presenter is pointing to the slide, video editor just ignored. :(

    • @BryonLape
      @BryonLape 4 ปีที่แล้ว +8

      Same on every lesson video.

    • @AZ-bu7ss
      @AZ-bu7ss 3 ปีที่แล้ว

      But even that is very good

    • @quintencabo
      @quintencabo 3 ปีที่แล้ว

      @@BryonLape 5 has the slides

  • @johnpettet
    @johnpettet 4 ปีที่แล้ว +94

    Thank you SO MUCH! for editing out the intro in subsequent videos, I was only able to withstand the cringe once.

    • @behthiansu
      @behthiansu 4 ปีที่แล้ว

      @@ashtonsimmonds7042 I was also kept thinking what's the point Uncle Bob was trying to make, I think he has a reason for that. You can share?

    • @Nerdsley
      @Nerdsley 4 ปีที่แล้ว +1

      @@behthiansu He is giving intuition to the doubling rate for the growth of number of programmers.

    • @GraveGround
      @GraveGround 3 ปีที่แล้ว +1

      @@ashtonsimmonds7042 I think he meant the horrible animation that was shown in lesson 1, that we only saw the end of in this lesson.

  • @jminor1126
    @jminor1126 3 ปีที่แล้ว +58

    Uncle Bob: "Oh I should plug in the screen"
    Editor : "Nah, you good"

  • @jamesc9001
    @jamesc9001 ปีที่แล้ว

    This is a sermon and very well received. Nodding in affirmation throughout.

  • @webboss
    @webboss 2 ปีที่แล้ว +3

    I used to be scared of the "Clean Code" book but watching this explanation by the Author gets me giddy to get a copy.

    • @jayoolong279
      @jayoolong279 4 หลายเดือนก่อน

      Same 😂

  • @Muhammad-sx7wr
    @Muhammad-sx7wr 4 ปีที่แล้ว +31

    Enjoying clean code principles as an East African; apparently with some polymorphic S. O. L. I. D. source code of my own.
    - *A serious fan, love from Somalia.*

    • @cromatikap
      @cromatikap 4 ปีที่แล้ว

      Hey mate, do you have a public git repo? :)

  • @iNtimidate770
    @iNtimidate770 4 ปีที่แล้ว +16

    thanks for uploading, really enjoying this lessons

  • @tomsterbg8130
    @tomsterbg8130 ปีที่แล้ว

    46:41: If a computer can do it a computer should do it.
    This is my new favorite quote and I absolutely love it

  • @martinloeffler2119
    @martinloeffler2119 4 ปีที่แล้ว +1

    Just became a PO. And this talk is pure gold :-)

  • @ViktorEngelmann
    @ViktorEngelmann 4 ปีที่แล้ว +16

    29:47 I have seen so much code in my life that felt exactly like someone wanted to emulate hardware... they use bytes to represent (8) wires, selectively read and write them with bitwise and/or with hardcoded magic numbers and use bitwise operators to emulate transistors...

  • @SaSeshen
    @SaSeshen 3 ปีที่แล้ว +83

    IS he seriously going to go on a long diatribe of the origin of man in finite, interesting detail and then literally not mention it again? Like bruh... I was HOOKED.

    • @Mefodii
      @Mefodii 3 ปีที่แล้ว +13

      As I understood this story was in relation with exponential growing number of programmers.

    • @ahmednaboot2155
      @ahmednaboot2155 3 ปีที่แล้ว

      I wonder why he's giving all these different sorts of intros in several topics

    • @Oranbar
      @Oranbar 3 ปีที่แล้ว +9

      @@ahmednaboot2155 I'm pretty sure he does it for no specific reason other than to grab his audience's attention, and because he thinks it's interesting.
      I think I heard him say this in one of his talks

    • @cluelessdev3851
      @cluelessdev3851 3 ปีที่แล้ว +2

      @@ahmednaboot2155 Unless he has stated otherwise, it is just warm up, he is extremely well at it in my oppinion.

    • @ChrisAthanas
      @ChrisAthanas ปีที่แล้ว

      @@Oranbar that’s a good enough reason imho

  • @Mackc557
    @Mackc557 2 ปีที่แล้ว +1

    I love these videos, so I only took offense proportional to a good joke about the jab toward VBA programmers. Keep making our code better!

  • @pranavdhamanage
    @pranavdhamanage 3 ปีที่แล้ว +1

    this dude is just simply amazing !!!

  • @damiannadales2578
    @damiannadales2578 4 ปีที่แล้ว +40

    "You see this picture there?" No :(

    • @kinvain
      @kinvain 4 ปีที่แล้ว

      It was hands holding a huge pile of papers

  • @chrislangtiw6395
    @chrislangtiw6395 3 ปีที่แล้ว +3

    48:30 "I'm seeing myself on that screen. I did not expect to see myself on that screen."
    We know, Bob. We know.

  • @anthonypoleski1220
    @anthonypoleski1220 2 ปีที่แล้ว +6

    The last video of this series is going to be like watching the last harry potter.

  • @gooseberry41
    @gooseberry41 3 ปีที่แล้ว +1

    I wish more CTOs would have such expectations. If such expectations existsed, programmers could do whatever they feel right defending themselves from the managerial pressure by these expectations. Unfortunatelly, CTOs usually expect quite the opposite. They expect programmes to ship the product today, regardless of what will happen with it tomorrow ("it's their job to maintain the product"/"we can hire another team" attitude). Most of the things that Bob told are simply not under control of developers. Managers (who are under control of CTO eventually) won't let you delay shipping because code is not clean, or 20% of the code does not work, or because tests are not automated or even executed (and doing that after the release is not an options, because then there will be another release), and won't let you to take responsibility on testing, or practice pair programming, or do anything else mentioned in the video.

    • @masaufuku1735
      @masaufuku1735 2 ปีที่แล้ว +1

      This is my thought too. I would love it if we actually had the time to clean up code, to properly test code, to write proper test cases so we can actually maintain the code. And some of that absolutely can fall on us as programmers (I'm not great about writing test cases for personal projects, for instance). But the vast majority is forced on us by management.
      It's not much different than telling a line worker at burger king that every sandwich should be pristine, should have the same amount of ingredients in the same position, should be wrapped well, etc - all while expecting that sandwich to be made in 5 seconds. You either have a good looking sandwich or a sandwich that was slapped together in 5 seconds - you will never have both. And while management will always insist that they want the former, they will only ever provide enough staff to accomplish the latter. That has been every single experience I ever had working fast food and it's been every single experience I've had working in IT - with the exception of when I was doing independent contract work and was fortunate enough to have a few clients who actually deferred to my judgement most of the time.
      The difference, of course, is that the sandwich you slap together in 5 seconds doesn't create decades of ever increasing technical debt because no one is ever given the time to clean up any code until management either decides to greenlight a rewrite or is paying one of a handful of non-retired COBOL programmers to keep the code barely limping along.

  • @thought-provoker
    @thought-provoker 2 ปีที่แล้ว +1

    28:47 - " _Can you make that app run on my Smartwatch? Should be a small change, because I already use it on my desktop!_ "
    What's a "small change" for users could mean an entire redesign - data sets, style, shown information, rendering and entire UI's need to be reworked, and potentially also stuff like data security (confidentiality, integrity, availability) gets an entirely new dimension when something moves from the secure, stable private network to a potentially insecure, unstable public zone.

  • @wolverine9632
    @wolverine9632 3 ปีที่แล้ว +15

    "How many biological grandparents do you have?"
    It depends on which state you live in.

  • @ithelightr3020
    @ithelightr3020 4 ปีที่แล้ว

    Excellent wisdom

  • @angusiasty
    @angusiasty 4 ปีที่แล้ว +1

    I love this lectures series :D

  • @ronijuppi
    @ronijuppi 4 ปีที่แล้ว +6

    I'm working on customer code currently and they enforce code coverage metrics. The CI system blocks you from merging if your change doesn't hit that target. The management there also has said multiple times that we should aim for 100% coverage. They also think that 100% coverage == no bugs and you should write unit tests for everything. It's frustrating to try and make them understand that having that as a target is insanity. Also unit tests don't make sense for everything and especially for our project I think we need bigger focus on integration testing.

    • @socrattt
      @socrattt 4 ปีที่แล้ว

      Unit tests usually make sense. Also, 100% coverage is good.
      However, if your code sucks, testing will be a pain. Finally, if your product team keeps changing their minds, testing will be a pain.

    • @donutzlidla7769
      @donutzlidla7769 2 ปีที่แล้ว

      @@socrattt why is 100% code coverage good?

    • @socrattt
      @socrattt 2 ปีที่แล้ว

      @@donutzlidla7769 Then you can refactor in safety.

    • @donutzlidla7769
      @donutzlidla7769 2 ปีที่แล้ว +1

      @@socrattt I'm still at uni and I was writing unit tests the other day. Due to the 100% code coverage requirement I ended up spending few hours writing dummy unit tests, some of which without assertion, just for the sake of hitting that target. That's why I'm very sceptical about it.

    • @socrattt
      @socrattt 2 ปีที่แล้ว

      @@donutzlidla7769 Yeah, well if you don't have assertions, you are not doing it properly. 100% requires some thinking on the programmers part - so you don't do that.
      Also, you should write unit tests as you write the code, not after. You'll write better code that way.
      Finally, 100% isn't necessary, but it's nice. 80% can be very good too.
      Good luck with your education!

  • @Mefodii
    @Mefodii 3 ปีที่แล้ว +3

    "Human beings improve situation with time, they don't degrade situation with time. They are not bacteria"
    - Hehe, yeaaaaah, suuuure.

  • @ovuokeaghwotu2389
    @ovuokeaghwotu2389 3 ปีที่แล้ว +1

    It would be great to add a link to his slides in your description. Great video!

    • @unitycoin_original
      @unitycoin_original  3 ปีที่แล้ว +2

      We dont have the slides, Do you know were to find it ?

  • @LunarFurorGames
    @LunarFurorGames 3 ปีที่แล้ว +2

    But... what about the pair programming bit from the end of the last one?

  • @alexeinazario8677
    @alexeinazario8677 ปีที่แล้ว

    he is making the ancestral links base on a yearly basis. Its not per year, its probably better ever 20 years. When you frame something with a very logical explanation most people lose the perspective of what or how something should or needs to be observe. 400 years ago I did not have 400 parents / grandparents probably 15 - 20.

  • @nicflatterie7772
    @nicflatterie7772 2 ปีที่แล้ว +1

    The expectations portion forgets one detail. Management. The VP at my last job clearly said we would now ship « good enough » products. So the QA team was fired and we were expected to support and fix live in prod, in firefighting mode.
    A web project was declared a resounding success because we crashed every 15 minutes for two days. The competitor was down for two weeks, so we were a great team (!).

  • @willemvdk4886
    @willemvdk4886 3 ปีที่แล้ว +1

    Buy and read his book, people. I truly believe it ought to be mandatory material for all programmers.

    • @kiramaticc
      @kiramaticc 2 ปีที่แล้ว

      It really shouldn't be. The book only contains very general guidelines on how you should think about writing code, but does nothing good for actual architectural decisions. It assumes that OOP is the only correct way to write code and the only way you should be writing, which is entirely bogus.

  • @alexisphilippe4088
    @alexisphilippe4088 3 ปีที่แล้ว

    1. We will not ship shit
    2. We will always be ready
    3. Stable productivity
    4. Inexpensive adaptability
    5. Continuous improvement
    6. Fearless Competence
    8. QA will find nothing
    9. Automation!
    10. We cover for each other
    11. Honnest estimates

  • @mrrolandlawrence
    @mrrolandlawrence 14 วันที่ผ่านมา

    lolz... that depends if you count VBA programmers. I worked in the 1990s in QA. We would find so much. Back then data validation was not really a thing in the financial markets. Effectively we were unit testers as well. Thankfully we had it all automated which is much more accurate than manual & quicker.

  • @Sqwan2
    @Sqwan2 4 ปีที่แล้ว +4

    "So, clearly this does not go by powers of two. It somehow starts out as powers of two" 03:40. Perfect example, that you have to understand the domain or it doesn't work out at all. There is no coherence between the number of ancestors and the world population. It works for n=1, but already for n=2 it is wrong. Obviously me and my sister don't have 4 different parents. This equation assumes that every pair of parents has only one child. And that has to be wrong, because otherwise the issue had been solved after Adam and Eve by itself.

    • @socrattt
      @socrattt 4 ปีที่แล้ว +9

      Bob was talking about the number of ancestors for a single individual.

  • @JessHines
    @JessHines 4 ปีที่แล้ว +3

    "...and I trust that it works." is very important. You can make a test pass with assert(true) but that gives you no confidence. Here's what I say:
    "If it's broke, fix it.
    If it ain't broke, make it better."

  • @EvenStarLoveAnanda
    @EvenStarLoveAnanda 4 ปีที่แล้ว

    Big respect to Uncle Bob.
    He is 100% right.
    Software has been SHIT lately.
    Things that used to work properly before now they don't.

  • @tonyblack1981
    @tonyblack1981 3 ปีที่แล้ว +6

    21:19 aah shit! Preach! 🙌. Those coders at CD Project Red oughter have been given guest tickets for this shit.

  • @baghayi
    @baghayi 4 ปีที่แล้ว +10

    Give me a number: No, I can only give you three.

  • @_ingoknito
    @_ingoknito 3 ปีที่แล้ว +1

    32:10 "This code is a mess. [...] Maybe I should clean it!? [...] I'm not touching it!! - Because you know if you touch it, you will break it. And if you break it, it becomes yours."

  • @kurasfx1720
    @kurasfx1720 4 ปีที่แล้ว +16

    I guess I was lucky enough to get an education that prepared me well for the real life. When I was in my first it company I was like "wtf are they doing, im better then this"

    • @slipoch6635
      @slipoch6635 4 ปีที่แล้ว

      Yup, my uni was actually very good at this, except for the Java part of the course which was always 'comment everything!'

    • @gamemusicmeltingpot2192
      @gamemusicmeltingpot2192 4 ปีที่แล้ว +1

      @@slipoch6635 haha college and uni programming courses are kind of cringe because some teachers never worked in the industry

    • @slipoch6635
      @slipoch6635 4 ปีที่แล้ว

      @@gamemusicmeltingpot2192 it depends on the course, another UNI had a very comprensive course where we covered how to draw a cpu circuit diagram, build compilers from scratch, proper programming which is only now starting to be used in a lot of companies 20 yrs later, and harder stuff, this one though meh...

  • @kudorgyozo
    @kudorgyozo 24 วันที่ผ่านมา

    I have never seen code that he is describing (as the ideal case) in my 17 years as a software developer.

  • @ryanlaseter7626
    @ryanlaseter7626 4 ปีที่แล้ว +4

    You know what type of 'hell' manual testing is? Oh yeah I'm aware, it's a nightmare. I'm an automation engineer and I see those tests, it's crazy.

    • @shapedsilver3689
      @shapedsilver3689 3 ปีที่แล้ว +1

      I had an internship in test automation and yeah those manual test engineers seemed miserable. There tests literally involved sitting there clicking buttons on a UI for hours at a time. The tests were thousands on steps long. Jesus Christ

    • @ryanlaseter7626
      @ryanlaseter7626 3 ปีที่แล้ว +1

      @@shapedsilver3689 that's real life at my job for some people. Hearing with lackluster happiness "I'm testing this whole feature by hand" 😓

  • @florenckaf
    @florenckaf 2 ปีที่แล้ว +1

    100% test coverage makes as much sense as enforcing comments for everythng. You end up with the test equivalent of a "increase integer by one" comment.

  • @DavidRodenas
    @DavidRodenas 4 ปีที่แล้ว

    The longer the project is running, the slower do not get, even for those projects that points are hiperinflated and deliver almost nothing each iteration. You cannot go slower than stopped.

  • @GeorgeTsiros
    @GeorgeTsiros 3 ปีที่แล้ว +2

    24:42 "that function is a little too big, i think i'll split it in half"
    did not hear "add the tests for that new function"

  • @grishatsu6943
    @grishatsu6943 5 หลายเดือนก่อน

    31:56 made my day

  • @jimmiedavis434
    @jimmiedavis434 6 วันที่ผ่านมา

    Yes, adam and eve is the first of all creation, whom we descend from

  • @DustinRodriguez1_0
    @DustinRodriguez1_0 4 ปีที่แล้ว +5

    One inaccuracy... the CTO doesn't expect to not ship shit. When he responds to "we need 90 days of parallel running of the old and new system" with ordering the operations team to cut over to the new system and to turn the old system off after 4 days to stop receiving a nightly report of all the discrepancies and errors with the new system, he knows shit got shipped, he backed the unrealistic schedule the software engineers said was unattainable, he was behind cutting the testing schedule from 6 months to 30 days, he was behind hearing a release date a year beyond what he promised and forced, and, most importantly, I think, he knows that his career will be boosted by being 'the one who got it shipped', while the developers are the ones who will be fighting fires every day (and night) for the next 3 years to accommodate things. He also knows that if it goes really wrong, like it did with Toyota and their 'unintended acceleration' and he gets called up in front of a court to explain his actions - he will walk free. He knows that the court will declare "it is impossible to judge any executive as negligent, because there exist no legally-enforceable standards which he could be said to have been negligent OF." He knows that his developers not having a bug tracker at all, that they managed to follow only 4 of the 90+ recommended and suggested practices published by the automotive industry, that the developers stressed that the product was not ready for public release and he ignored them, that he hired the most inexperienced and unqualified (and thus cheapest) developers he could find to create code that cost peoples lives - and while every developer will call him an idiot and a demon - he will likely get a promotion.

    • @socrattt
      @socrattt 4 ปีที่แล้ว

      In the talk, Bob is pretending to be the ideal CTO that he would like to be.

  • @AZ-bu7ss
    @AZ-bu7ss 3 ปีที่แล้ว

    Thanks

  • @jimbak478
    @jimbak478 2 ปีที่แล้ว

    PERT Project Evaluation and Review Technique

  • @Bosslogq
    @Bosslogq 3 ปีที่แล้ว +1

    “You see the picture there?” 51:01

  • @NOCTUMSEMPRA
    @NOCTUMSEMPRA 3 ปีที่แล้ว +4

    15:39 "have been POURING INTO this field..." LOOL as if they were some kind of toxic fluid, LMAOO

  • @Name-lt2tz
    @Name-lt2tz 2 ปีที่แล้ว

    everybody expects high quality but bosses do not want always to invest into that because users do not wait and do not pay enough.

  • @williamvarney5813
    @williamvarney5813 11 หลายเดือนก่อน

    If you don't unit test everything -- you are putting the software-cart before the software-horse.

  • @local9
    @local9 2 ปีที่แล้ว

    Programmers don't want to watch the code rot, but management who keep putting money and budgets on it, will let it rot.

  • @lucasterable
    @lucasterable 4 ปีที่แล้ว +2

    11:04 this.
    14:39 so, around year 2100 all the Earth's population will consist of programmers or people who can program

    • @ovidiusm7710
      @ovidiusm7710 4 ปีที่แล้ว +1

      100 years ago, the people who could read was a fraction of the people who were alive. Now, at least in the western world, almost everyone can read.

    • @hamuArt
      @hamuArt 3 ปีที่แล้ว

      nope AI will take over this field :D

    • @lucasterable
      @lucasterable 3 ปีที่แล้ว +1

      @@hamuArt ok but then it should take over maintenance as well

  • @Name-lt2tz
    @Name-lt2tz 2 ปีที่แล้ว

    we never lauched betas as I work for 10 years.

  • @javadnoruzi908
    @javadnoruzi908 3 ปีที่แล้ว

    You are AWSOME

  • @lawrencebob4250
    @lawrencebob4250 4 ปีที่แล้ว +2

    This Guy is Awsome

  • @michaeldeng1981
    @michaeldeng1981 4 ปีที่แล้ว +1

    I just start reading clean code (physical copy), and youtube push this to me. How is it possible?

    • @deresegetachew3987
      @deresegetachew3987 4 ปีที่แล้ว

      maybe you were reading out loud and your phone is spying on u :)

    • @biohoo22
      @biohoo22 3 ปีที่แล้ว

      Do you regularly look up coding videos on TH-cam?
      I do. And, I also have the ebook copy. It's pretty popular.

    • @Atlantan
      @Atlantan 3 ปีที่แล้ว +1

      If you bought it online them it's algorithm

    • @miscellaneous9932
      @miscellaneous9932 3 ปีที่แล้ว +1

      Did you accept cookies?

    • @limbalicious
      @limbalicious 3 ปีที่แล้ว +1

      maybe you bought online or with your details attached to the internet haha

  • @Lucas-hh4oh
    @Lucas-hh4oh 3 ปีที่แล้ว +1

    Sometimes I wish he was my real uncle

  • @ahmednaboot2155
    @ahmednaboot2155 3 ปีที่แล้ว

    did he do all that in one day?

  • @pt8306
    @pt8306 4 ปีที่แล้ว

    I have dealt with manual QA. It was horrible for everyone involved.

  • @NuclearFury8
    @NuclearFury8 3 ปีที่แล้ว +1

    The mythical test button sounds extremely compelling, but I feel like its description kinda assumes that the tests will be fast. Even when I feel I can trust the test suite, if it takes over an hour to complete and give me that green light, it might as well not be there, at least not for small changes. It just doesn't sound like a "step" and more like an "I'm done".

    • @thelenardjourney8525
      @thelenardjourney8525 2 ปีที่แล้ว +1

      It’s a test for a single function. So you know once you refactor or add to the functionality it still passes the original test

  • @Mvision123
    @Mvision123 3 ปีที่แล้ว +2

    Hearing all this in a Peter Griffin voice

  • @ViktorEngelmann
    @ViktorEngelmann 4 ปีที่แล้ว +1

    21:14 well a car costs tens of thousands of dollars. People aren't even willing to pay 99 cents for extremely sophisticated software.

    • @socrattt
      @socrattt 4 ปีที่แล้ว

      My Netflix subscription is $20/month. That software is okay.

    • @ViktorEngelmann
      @ViktorEngelmann 4 ปีที่แล้ว

      @@socrattt you pay that for the content, not for the software. The best streaming platform will go down without a high quantity & quality Selection of content

    • @Naglfar83
      @Naglfar83 3 ปีที่แล้ว

      Do you have any idea how much larger companies pay for the development of specialised software?

    • @ViktorEngelmann
      @ViktorEngelmann 3 ปีที่แล้ว

      @@Naglfar83 sure, but that's niche markets. I'm talking about the fact that Joe Everyman owns a car that they spend $100 on per month (on average). But Joe Everyman has never spent a single dollar to purchase an app on their app-store.

    • @JoyfulJabber
      @JoyfulJabber 3 ปีที่แล้ว

      ​@@ViktorEngelmann He is paying for the software in the car, though. Average Joe is not interested in software as such; he is interested in something that makes him feel good. If that involves software, he will pay for that software as part of the product. He pays for cars, TVs, phones, laptops, gaming computers, games, streaming services, internet connection, perhaps cable TV, stuff from Amazon, etc. All of that contain or use vast amounts of software. He rarely directly pays for software by itself, but he sure does pay for vast amounts of software through the products he buys. And he sure wants all those products to work. And he is willing to pay more for a stable high quality product.

  • @unkn0wnrge189
    @unkn0wnrge189 6 หลายเดือนก่อน

    I getting exausted with stories, can anyone enlight me whats the point of explaining genetic origins in clean code topic? I really appreciate a answer.

  • @P1aenkl3r
    @P1aenkl3r 3 ปีที่แล้ว +1

    "think about how wildly irresponsible it is to fear what you have created" --> Julius Robert Oppenheimer take an example from us and improve your code bro :D

  • @OLApplin
    @OLApplin 4 ปีที่แล้ว +4

    Well, I agree with 100% of what he says. Unfortunately, its all lies. Thats not how things work in real life. If i'd be alone, I would uphold all that he says. But I have a team, with members that are less competent, and management that put priorities wherever what they want. If I spend time fixing bad code of others without the approval of my team and superior, without having that in the sprint objectives, I would get fired. I truely wish it would work like that, but I feel the mentality of the whole industry needs to change for that to happend.

    • @BlazingMagpie
      @BlazingMagpie 4 ปีที่แล้ว

      I mean, if you still have to write shit, you might as well slowly push towards writing less smelly shit. Who knows, maybe in a decade we won't have to write shit anymore.

    • @happybroom9132
      @happybroom9132 4 ปีที่แล้ว

      @@BlazingMagpie That's perfect, it's exactly what I think. The only way to change your context is to change yourself first, and slowly show how those changes can be good for everyone.

    • @JoyfulJabber
      @JoyfulJabber 3 ปีที่แล้ว

      Maybe there are different companies with different views on quality, just like there are customers with different views on quality. Some companies might perhaps fire you if you do not fix bad code or if you do not mention when you see bad code or if you agree on meetings to prioritize new features over fixing bad code; maybe they make hospital equipment or space rovers that absolutely must not fail. And other companies might have company values of quantity over quality, and then you just don't want to work there if you value quality.

    • @thelenardjourney8525
      @thelenardjourney8525 2 ปีที่แล้ว

      It should be how it is. Victim mentality.

  • @bobweiram6321
    @bobweiram6321 3 ปีที่แล้ว +1

    Schools like MIT and Stanford arrogantly view clean coding as a matter of the trades and professional practice, not worthy of any academic interest. If you want to learn as a student, you're on your own.

  • @blasttrash
    @blasttrash 4 ปีที่แล้ว +1

    I dont understand, why did he talk about sun/moon in previous lessons and in this lesson he started with adam and eve? What was the point of that information?

    • @andywong3095
      @andywong3095 4 ปีที่แล้ว +1

      Subliminal! preach the book, you are converted, without knowing it.

    • @blasttrash
      @blasttrash 4 ปีที่แล้ว

      @@andywong3095 converted? as in to Christianity? But he had other "starters" as well in his previous videos like about sun and moon etc. How is that related to Christianity? just curious. or maybe I misunderstood your statement. :)

    • @andywong3095
      @andywong3095 4 ปีที่แล้ว

      ​@@blasttrash , hehehe, if you were a "C" follower, you will be more likely, believe, his Ideas. hahahaha.
      Like a Politician, said, I am a god fearing "C" person, you may be more likely, to vote for him,
      BECAUSE, you are a real "C" person.
      But, big BUT, people like me, think of it, as HOT-WIND.
      Still missed it, "The" book, his "Book", Not the other BOOK, that you were thinking of.
      I have to add, ONLY 1 exception, about Politician, President Jimmy Carter, a real Christian, with the capital C.

    • @GerbenWijnja
      @GerbenWijnja 4 ปีที่แล้ว +6

      You must be new here. Watch some more random talks from him on youtube. Every single talk he does starts with a random science or physics subject.

    • @andywong3095
      @andywong3095 4 ปีที่แล้ว +1

      @@GerbenWijnja "You must be new here" 100% Yes. hehehe. I hope nobody take me seriously. Uncle Bob, is well known and respected, OLD too, I really think???, he will not care any pokes from anyone. ( I know this, because I am old too)

  • @larryd9577
    @larryd9577 4 ปีที่แล้ว +3

    If you tell me, that you've fully covered your business logic with unit tests. And something changes in the business logic and not even one test go red, then you didn't tested it.
    Tests shouldn't fail if you just refactor (tool assisted). That is what he should have tell instead.

  • @moacir8663
    @moacir8663 3 ปีที่แล้ว

    Moon, biologic parents, what do these fucking subjects have to do with clean code? By the way, even with some weird subjects that's the most motivated presentation about software development I've ever watched!

  • @drumbast
    @drumbast 3 ปีที่แล้ว +1

    The lecture is brilliant, but the Camera-Guy/ Video-Editor destroys it all.

  • @erkan2284
    @erkan2284 3 ปีที่แล้ว

    There is code on your screen!

  • @ltsiros
    @ltsiros 3 ปีที่แล้ว

    Does anyone know why he starts his talks by interesting and unrelated topics? Is it to engage the audience before actually starting? Or just showing off his knowledge? :P

    • @manishm9478
      @manishm9478 11 หลายเดือนก่อน

      More the first one, though he does seem to have a sizeable ego 😀 i've seen it taught by professional speaking trainers to lead with a captivating story. Though usually you try to make it relate to your topic...

  • @igor-couto
    @igor-couto 4 ปีที่แล้ว +1

    6:32 This is incorrect. Sperm cells have mitochondria! And a lot of them in order to generate energy (ATP) for their tail to move. So, what's this whole introduction for anyway?

    • @jmwild1
      @jmwild1 4 ปีที่แล้ว +4

      It's his technique in every presentation. He starts with a "story" that gets everyone focused and interacting before he jumps into the nitty gritty.

    • @dafniFS
      @dafniFS 4 ปีที่แล้ว +3

      Yes sperm cells have mitochondria, but they are used for locomotion. When fertilization happens, in the very early stages of development (a couple of cells) they are destroyed. Hence we inherit our mitochondrial DNA from our mothers. Definitely poorly phrased from his side, but I think it was an oversimplification, to get to his point.

    • @ShahbazYoussefi
      @ShahbazYoussefi 3 ปีที่แล้ว +2

      The introduction is BS for other reasons too, as it's disregarding evolution. You don't suddenly get 2 people to parent everyone, you have N monkeys, one mutates slightly towards humans, mating happens while other monkeys mutate differently towards humans and the collection of the monkeys together turn into the ancestors of humanity, i.e. there's never a point where you can identify 2 individuals and say "these 2 are human, the rest aren't".
      If you want to go far back enough to reach the real Single Ancestor Of Everybody, that would be the self-replicating molecule that accidentally came to be.

  • @sitemoth
    @sitemoth 3 ปีที่แล้ว +1

    Second time the dude does a Star Wars reference out of the blue and I seemingly nobody gets it :(

  • @manishm9478
    @manishm9478 11 หลายเดือนก่อน

    Oh man, i feel called out in the fearless competence section 😅 I'd love to refactor but am terrified of changes because a) it takes ages (10min to run our test suite each time, and days to get the PR approved and merged)
    b) i don't want to be held accountable for the code 🫣
    Edit: ok i am so grateful i have the 1800 automated tests and not 80,000 manual tests 😳😂

  • @codeman99-dev
    @codeman99-dev 3 ปีที่แล้ว +3

    17:15 Not me! I was very prepared. I was completing tasks (correctly!) in less than a week, maybe even less than a day. Hard to remember exactly. The only thing I really needed to learn was using source control. Everything else I either knew already or simply didn't matter. Seriously.
    I have an Associates in Computer Science (Programming) from Pittsburgh Technical Institute (now Pittsburgh Technical College).
    I graduated in October 2011. In a little more than a week I'll start a new role as a Senior Software Engineer.
    So was I prepared? Absolutely. If I had a time machine would I change anything about my education? No, not really. I maybe would try to change how I paid for it, lol.

  • @williamvarney5813
    @williamvarney5813 11 หลายเดือนก่อน

    Pairing reminds me too much of Xtreme-Programming!

  • @briannoel7398
    @briannoel7398 ปีที่แล้ว +1

    5:51 this isn't necessarily true, since it is populations that evolve rather than individuals. It is possible that as a species we were genetically bottlenecked to two individuals, but an incredible majority of the time when that happens, the species goes extinct. Our true common ancestor could very well be the first eukaryote that developed sexual reproduction.
    Take feliforms for example: do all tigers share two paired ancestors? What about all lions? Cheetahs (maybe)? Lynxes? House cats? Would they all be the same two ancestors for all varieties of cats?
    What about carnivores? You have caniforms like dogs, bears, seals, stoats, as well as all the varieties of cats mentioned above. Do they all have individual genetic bottlenecks, or did they all change as populations?
    Mitochondrial Eve and Y-chromosomal Adam may not have even known eachother, or even lived at the same time for that matter. And regardless, either one of them necessarily would've had parents and grandparents, etc.

  • @yetanotheryoutubenick8347
    @yetanotheryoutubenick8347 ปีที่แล้ว

    Why doesn’t the camera show the slides?? So annoying.

  • @akhilpradhan3553
    @akhilpradhan3553 ปีที่แล้ว

    you have take the generics example!

  • @metalalive2006
    @metalalive2006 2 ปีที่แล้ว

    38:29 fragile test problem

  • @jakubk7158
    @jakubk7158 2 ปีที่แล้ว

    17:15, 50:42

  •  4 ปีที่แล้ว +2

    This is all great, shame none of this is considered relevant in the professional world and will likely get you targeted for being unproductive.

  • @seesharp81321
    @seesharp81321 23 วันที่ผ่านมา

    If you require tests for every bit in your code then I submit that you are not fearless, quite the opposite

  • @jordanvarnon4835
    @jordanvarnon4835 2 ปีที่แล้ว

    What do you do if you get hired onto a company with software that has zero automated tests? It is all written and needs to be cleaned. Meanwhile, the CEO keeps harassing you for new features. Even though the features that are already there don't work most of the time.

    • @BienestarMutuo
      @BienestarMutuo 2 ปีที่แล้ว +1

      Just talk with your boss about the only thing that matter in business: "money", explain the cost of unclean code. If your boss dont listen, talk to to his superior. At this point your job is in risk, but also you will be prepare for a promotion. Dont have fear and do the right thing, an spiritual man dont have fear because everything is for good.

    • @jordanvarnon4835
      @jordanvarnon4835 2 ปีที่แล้ว +1

      @@BienestarMutuo That would mean I would have to find time to research the business value of the products my team is in charge of developing. Everytime I try and ask for access to this information, I get the classic "This is not a priority right now." I am just a lead developer not a business analyst. I know they would never fire me. But, I might quit if I feel I am not allowed to make the adjustments necessary.

    • @jordanvarnon4835
      @jordanvarnon4835 2 ปีที่แล้ว +1

      @@BienestarMutuo I think the problem is. That I am the lead developer and my product owner does nothing but what the CEO tells hem to do. I don't have a direct line to the CEO but my CEO is making all these decisions on cranking out features as fast as possible. I was brought in recently. And the developers under me haven been there longer and our still trying to crank out features written irresponsibly. I have half a mind to fire them all. I don't think any of them know any sort of architecture and none of them have ever written a unit test in their life. With the pressure from CEO to crank out features I don't have time to teach them all basic principles of software engineering. Thanks for letting me rant.

    • @BienestarMutuo
      @BienestarMutuo 2 ปีที่แล้ว +1

      @@jordanvarnon4835 OK, do as you need, but remember your inner values are not negotiable. Money can buy Pleasure but not Happiness.

  • @RiorXD
    @RiorXD 4 ปีที่แล้ว +2

    This specific video in the series has nothing to do with coding. if you came for coding like the first 2 skip this one.

    • @socrattt
      @socrattt 4 ปีที่แล้ว +2

      If you've worked on software in a few companies, you'll see that this talk is all about code.

    • @RiorXD
      @RiorXD 4 ปีที่แล้ว

      @@socrattt please time stamp every bit of code in the video.

    • @Naglfar83
      @Naglfar83 3 ปีที่แล้ว +4

      It‘s not exactly about coding practice, but merely about coding ethics which makes it important nevertheless for every programmer. As a programmer you should not skip this video.

    • @RiorXD
      @RiorXD 3 ปีที่แล้ว

      @@Naglfar83 i disagree but to each their own.

  • @n0MC
    @n0MC 4 ปีที่แล้ว +4

    Absolutely love those intros, but I can't help but wonder, what is the point of them?

    • @Photodeus
      @Photodeus 4 ปีที่แล้ว +4

      Maybe to wake the audiences' brains after a break?

    • @himalpuri837
      @himalpuri837 3 ปีที่แล้ว

      Comparing the number of programmer in the world.

    • @superscatboy
      @superscatboy 2 ปีที่แล้ว +1

      To warm the audience up. People take a minute or two to settle into a talk so it's smart to not go straight in to the details, but instead start on something relatively unimportant to give everyone's brain time to tune in and start listening. Using an interesting subject is a great way to get people's attention and get the audience "on your side" before you start proper.

  • @manishm9478
    @manishm9478 11 หลายเดือนก่อน

    "You know what? We're never going to be uploading anything but betas, it's betas from now on" steam early access in a nutshell 🤣

  • @AWLOliveira
    @AWLOliveira 3 ปีที่แล้ว +1

    "Midi-chlorians" HAHAHAHAHAHHAHAHAHAHA

  • @GillesLouisReneDeleuze
    @GillesLouisReneDeleuze 4 ปีที่แล้ว +3

    19:09 We also uploading alphas tho

    • @Lord-Sméagol
      @Lord-Sméagol 4 ปีที่แล้ว +1

      Windows 10 Home Edition springs to mind, not alpha [well, mostly: 1809 deleting users' files!], but certainly beta!

  • @m10004
    @m10004 4 ปีที่แล้ว

    16:49

  • @alithejumbo
    @alithejumbo 4 ปีที่แล้ว +1

    Uncle Bob and his dad jokes 🙈

    • @szymusu
      @szymusu 4 ปีที่แล้ว +1

      *dad's brother jokes