Clean Code - Uncle Bob / Lesson 3

Поделиться
HTML-код
  • Опубликовано: 24 ноя 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 года назад +17

    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

  • @GauravSehrawat8888
    @GauravSehrawat8888 3 года назад +46

    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 года назад +135

    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

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

  • @willd0g
    @willd0g 3 года назад +10

    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.

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

  • @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"

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

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

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

  • @jamesc9001
    @jamesc9001 Год назад

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

  • @martinloeffler2119
    @martinloeffler2119 4 года назад +1

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

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

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

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

  • @anthonypoleski1220
    @anthonypoleski1220 2 года назад +6

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

  • @wolverine9632
    @wolverine9632 3 года назад +15

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

  • @pranavdhamanage
    @pranavdhamanage 3 года назад +1

    this dude is just simply amazing !!!

  • @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!

  • @Mefodii
    @Mefodii 3 года назад +3

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

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

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

  • @LunarFurorGames
    @LunarFurorGames 3 года назад +2

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

  • @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!

  • @mrrolandlawrence
    @mrrolandlawrence 18 дней назад

    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.

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

  • @baghayi
    @baghayi 4 года назад +10

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

  • @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 (!).

  • @_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."

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

  • @kudorgyozo
    @kudorgyozo 28 дней назад

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

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

  • @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"

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

  • @angusiasty
    @angusiasty 4 года назад +1

    I love this lectures series :D

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

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

  • @ithelightr3020
    @ithelightr3020 4 года назад

    Excellent wisdom

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

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

  • @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" 😓

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

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

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

  • @jimbak478
    @jimbak478 2 года назад

    PERT Project Evaluation and Review Technique

  • @jimmiedavis434
    @jimmiedavis434 10 дней назад

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

  • @grishatsu6943
    @grishatsu6943 6 месяцев назад

    31:56 made my day

  • @NOCTUMSEMPRA
    @NOCTUMSEMPRA 4 года назад +4

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

  • @AZ-bu7ss
    @AZ-bu7ss 3 года назад

    Thanks

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

  • @Bosslogq
    @Bosslogq 3 года назад +1

    “You see the picture there?” 51:01

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

  • @williamvarney5813
    @williamvarney5813 11 месяцев назад

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

  • @Name-lt2tz
    @Name-lt2tz 2 года назад

    we never lauched betas as I work for 10 years.

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

  • @pt8306
    @pt8306 4 года назад

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

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

  • @sitemoth
    @sitemoth 3 года назад +1

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

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

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

  • @ahmednaboot2155
    @ahmednaboot2155 3 года назад

    did he do all that in one day?

  • @javadnoruzi908
    @javadnoruzi908 3 года назад

    You are AWSOME

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

  • @Lucas-hh4oh
    @Lucas-hh4oh 3 года назад +1

    Sometimes I wish he was my real uncle

  • @lawrencebob4250
    @lawrencebob4250 4 года назад +2

    This Guy is Awsome

  • @jordanvarnon4835
    @jordanvarnon4835 3 года назад

    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 3 года назад +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 3 года назад +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 3 года назад +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.

  • @jakubk7158
    @jakubk7158 2 года назад

    17:15, 50:42

  • @yetanotheryoutubenick8347
    @yetanotheryoutubenick8347 Год назад

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

  • @metalalive2006
    @metalalive2006 2 года назад

    38:29 fragile test problem

  • @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)

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

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

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

  • @akhilpradhan3553
    @akhilpradhan3553 Год назад

    you have take the generics example!

  • @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 🤣

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

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

  • @williamvarney5813
    @williamvarney5813 11 месяцев назад

    Pairing reminds me too much of Xtreme-Programming!

  • @Денис-ж3ф5р
    @Денис-ж3ф5р 2 года назад

    16:50

  • @seesharp81321
    @seesharp81321 27 дней назад

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

  • @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!

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

  • @erkan2284
    @erkan2284 3 года назад

    There is code on your screen!

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

  • @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 😳😂

  • @AWLOliveira
    @AWLOliveira 3 года назад +1

    "Midi-chlorians" HAHAHAHAHAHHAHAHAHAHA

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

  • @m10004
    @m10004 4 года назад

    16:49

  • @drumbast
    @drumbast 3 года назад +1

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

  • @bhbr-xb6po
    @bhbr-xb6po 5 дней назад

    27:00 you can go so slow that you go backwards

  • @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!

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

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