Talk: Conor Hoekstra - Beautiful Python Refactoring

Sdílet
Vložit
  • čas přidán 11. 06. 2024
  • Presented by:
    Conor Hoekstra
    Refactoring can lead to absolutely beautiful code. Not only this, but the refactoring itself can be a thing of beauty. This talk demonstrates taking an example with a double-digit number of lines of code down to a single-digit number of lines of code. This talk will show how to identify certain anti-patterns that can be replaced with more expressive and declarative code. This is a simple talk that can be understood by all, but when applied to one’s daily work can make a significant difference.
    Talk slides and code: github.com/codereport/Talks/t...

Komentáře • 28

  • @BernardCarney
    @BernardCarney Před 4 lety +8

    Awesome talk! I went through a project I had been working on, and while I'm familiar with enumerate and comprehension, I fell for the same anti-patterns you had mentioned. Really thought this was a great talk for people at any level of programming.

    • @code_report
      @code_report Před 4 lety +5

      Thanks! Glad you enjoyed the talk! I see this anti-pattern in code all the time. Many tutorials are written this way and it is pervasive within many programming languages, not just Python. It is very satisfying for me when ever I can refactor some ITM code to use an algorithm or a function or a conditional expression or something else : )

  • @udianilbey
    @udianilbey Před 2 lety +2

    isnumeric usage introduces a side effect as "12.0".isnumeric() evaluates to false while int(12.0) evaluates to 12

  • @ehsan_kia
    @ehsan_kia Před 4 lety +9

    I believe you want to use .isdigit() instead of .isnumeric(). The latter matches numbers in other languages, which int() wouldn't digest well.

  • @bahramaghaei339
    @bahramaghaei339 Před 4 lety +3

    Thank you very much, it was very informative and enjoyable.

  • @harshpatel105
    @harshpatel105 Před 4 lety +1

    Its amazing video. :) Thanks a lot!

  • @laike9m101
    @laike9m101 Před 4 lety +11

    I wonder what tool did the speaker use to make code transformation animation, really cool.

  • @MrG895
    @MrG895 Před 4 lety +2

    Nice job! Loved the enumerate callout and the structuring of list comprehensions with lambdas and smart tabbing to make it readable. What did you use for the visualizations? I like the color scheme and the language icons, but adding the latter seems hard for matplotlib or other code-based viz libraries.

    • @code_report
      @code_report Před 4 lety +1

      I just use Microsoft PowerPoint :)

  • @dejavukun
    @dejavukun Před 4 lety

    Great talk as always!

  • @triforce42
    @triforce42 Před 4 lety +2

    I loved the transitions and the content. What did you use to animate the slides? Revealjs? Can we see an example/source code?

    • @code_report
      @code_report Před 4 lety +3

      There is no source code. Just Microsoft Powerpoint 2019

  • @taritgoswami3957
    @taritgoswami3957 Před 4 lety +2

    Great! I heard that using long one-liners hampers readability. How you made the animation of rearranging the code to the next slide?

    • @code_report
      @code_report Před 4 lety +2

      Thanks! The slide deck is made with Microsoft PowerPoint 2019.

    • @ehsan_kia
      @ehsan_kia Před 4 lety +4

      My personal rule is, it's okay to be a one-liner if it represents a single idea. Like a sentence. Sometimes I will actually explicitly split something into two statements if they read as separate actions. For example one in the video I don't agree with is merging `col[i][1].append` with the ternary operator. Converting the data and adding it to the column are two separate actions in my mind, and make more sense as two statements.

  • @eddyecko94
    @eddyecko94 Před 4 lety +1

    Very good, c++ is my language of choice yet the ITM is something I’ve leavened

  • @kora5
    @kora5 Před 4 lety +1

    Beautiful transitions and animation. How do you create it?

    • @code_report
      @code_report Před 4 lety +3

      Thanks! Microsoft Powerpoint 2019

    • @pybob
      @pybob Před 4 lety

      @@code_report those animations are awesome, which feature of MS PP is that please?

  • @albertosanchez789
    @albertosanchez789 Před 4 lety +1

    Nice presentation and slides.
    The function names comparison between different languages (like the one in the minute 8:40) was taken from a public site?

    • @code_report
      @code_report Před 4 lety +9

      It is a program that I personally wrote that I will be turning into a website within the next year.

  • @akshayjoshi4411
    @akshayjoshi4411 Před 4 lety

    What would you suggest to avoid ITM anti-pattern while fetching frames from webcam ?

  • @Glowackos
    @Glowackos Před 3 lety

    What's the website from 8:53?