Testing Blog

Code Health: Reduce Nesting, Reduce Complexity

понеділок, червня 05, 2017
Share on Twitter Share on Facebook
Google
Мітки: Code Health , Elliott Karpilovsky , TotT

5 коментарів :

  1. Unknown7 червня 2017 р. о 23:00:00 GMT-7

    Thanks for the article. I like the example. As a rule of thumb I'd add replace conditional with polymorphism if possible.

    ВідповістиВидалити
    Відповіді
      Відповісти
  2. Unknown21 червня 2017 р. о 09:41:00 GMT-7

    Aren't the following 2 logical checks flipped on the exceptions they should raise?

    if not response.GetAuthorizedUser():
    •• raise ValueError('wrong encoding')

    if response.GetEnc() != 'utf-8':
    •• raise AuthError('unauthorized')

    ВідповістиВидалити
    Відповіді
      Відповісти
  3. Unknown21 червня 2017 р. о 09:43:00 GMT-7

    Regarding my logic flip comment lol. Disregard since I clearly see it was intentional after continuing with the artcile

    ВідповістиВидалити
    Відповіді
      Відповісти
  4. Unknown3 липня 2017 р. о 04:40:00 GMT-7

    I recently refactored a too much nested logic check because I had the very impression it wasn't redeable. Glad to see that kind of article, I will keep this tip in mind.

    ВідповістиВидалити
    Відповіді
      Відповісти
  5. Unknown15 серпня 2017 р. о 08:26:00 GMT-7

    The one difference I would have is if error0 else if errorN else { success }.
    Slightly easier to immediately go, ah huh, error(s) then success paths. Thanks to less whitespace + usage of else keyword.

    ВідповістиВидалити
    Відповіді
      Відповісти
Додати коментар
Завантажити більше...

The comments you read and contribute here belong only to the person who posted them. We reserve the right to remove off-topic comments.

  

Labels


  • TotT 114
  • GTAC 61
  • James Whittaker 42
  • Misko Hevery 32
  • Code Health 31
  • Anthony Vallone 27
  • Patrick Copeland 23
  • Jobs 18
  • Andrew Trenk 13
  • C++ 11
  • Patrik Höglund 8
  • JavaScript 7
  • Allen Hutchison 6
  • George Pirocanac 6
  • Zhanyong Wan 6
  • Harry Robinson 5
  • Java 5
  • Julian Harty 5
  • Adam Bender 4
  • Alberto Savoia 4
  • Ben Yu 4
  • Erik Kuefler 4
  • Philip Zembrod 4
  • Shyam Seshadri 4
  • Chrome 3
  • Dillon Bly 3
  • John Thomas 3
  • Lesley Katzen 3
  • Marc Kaplan 3
  • Markus Clermont 3
  • Max Kanat-Alexander 3
  • Sonal Shah 3
  • APIs 2
  • Abhishek Arya 2
  • Alan Myrvold 2
  • Alek Icev 2
  • Android 2
  • April Fools 2
  • Chaitali Narla 2
  • Chris Lewis 2
  • Chrome OS 2
  • Diego Salas 2
  • Dori Reuveni 2
  • Jason Arbon 2
  • Jochen Wuttke 2
  • Kostya Serebryany 2
  • Marc Eaddy 2
  • Marko Ivanković 2
  • Mobile 2
  • Oliver Chang 2
  • Simon Stewart 2
  • Stefan Kennedy 2
  • Test Flakiness 2
  • Titus Winters 2
  • Tony Voellm 2
  • WebRTC 2
  • Yiming Sun 2
  • Yvette Nameth 2
  • Zuri Kemp 2
  • Aaron Jacobs 1
  • Adam Porter 1
  • Adam Raider 1
  • Adel Saoud 1
  • Alan Faulkner 1
  • Alex Eagle 1
  • Amy Fu 1
  • Anantha Keesara 1
  • Antoine Picard 1
  • App Engine 1
  • Arham Jain 1
  • Ari Shamash 1
  • Arif Sukoco 1
  • Bartosz Papis 1
  • Benjamin Pick 1
  • Bob Nystrom 1
  • Bruce Leban 1
  • Carlos Arguelles 1
  • Carlos Israel Ortiz García 1
  • Cathal Weakliam 1
  • Chris Kennelly 1
  • Christopher Semturs 1
  • Clay Murphy 1
  • Dagang Wei 1
  • Dan Maksimovich 1
  • Dan Shi 1
  • Dan Willemsen 1
  • Dave Chen 1
  • Dave Gladfelter 1
  • David Bendory 1
  • David Mandelberg 1
  • Derek Snyder 1
  • Diego Cavalcanti 1
  • Dmitry Vyukov 1
  • Eduardo Bravo Ortiz 1
  • Ekaterina Kamenskaya 1
  • Elliott Karpilovsky 1
  • Elliotte Rusty Harold 1
  • Espresso 1
  • Felipe Sodré 1
  • Francois Aube 1
  • Gene Volovich 1
  • Google+ 1
  • Goran Petrovic 1
  • Goranka Bjedov 1
  • Hank Duan 1
  • Havard Rast Blok 1
  • Hongfei Ding 1
  • Jason Elbaum 1
  • Jason Huggins 1
  • Jay Han 1
  • Jeff Hoy 1
  • Jeff Listfield 1
  • Jessica Tomechak 1
  • Jim Reardon 1
  • Joe Allan Muharsky 1
  • Joel Hynoski 1
  • John Micco 1
  • John Penix 1
  • Jonathan Rockway 1
  • Jonathan Velasquez 1
  • Josh Armour 1
  • Julie Ralph 1
  • Kai Kent 1
  • Kanu Tewary 1
  • Karin Lundberg 1
  • Kaue Silveira 1
  • Kevin Bourrillion 1
  • Kevin Graney 1
  • Kirkland 1
  • Kurt Alfred Kluever 1
  • Kyle Freeman 1
  • Manjusha Parvathaneni 1
  • Marek Kiszkis 1
  • Marius Latinis 1
  • Mark Ivey 1
  • Mark Manley 1
  • Mark Striebeck 1
  • Matt Lowrie 1
  • Meredith Whittaker 1
  • Michael Bachman 1
  • Michael Klepikov 1
  • Mike Aizatsky 1
  • Mike Wacker 1
  • Mona El Mahdy 1
  • Nimit Khandelwal 1
  • Noel Yap 1
  • Palak Bansal 1
  • Patricia Legaspi 1
  • Per Jacobsson 1
  • Peter Arrenbrecht 1
  • Peter Spragins 1
  • Phil Norman 1
  • Phil Rollet 1
  • Pooja Gupta 1
  • Project Showcase 1
  • Radion Khait 1
  • Radoslav Vasilev 1
  • Rahul Singal 1
  • Rajat Dewan 1
  • Rajat Jain 1
  • Rich Martin 1
  • Richard Bustamante 1
  • Roman Govsheev 1
  • Roshan Sembacuttiaratchy 1
  • Ruslan Khamitov 1
  • Saicharan Nimmala 1
  • Sam Lee 1
  • Sean Jordan 1
  • Sebastian Dörner 1
  • Shahar Roth 1
  • Sharon Zhou 1
  • Shiva Garg 1
  • Siddartha Janga 1
  • Simran Basi 1
  • Stan Chan 1
  • Stephen Ng 1
  • Tejas Shah 1
  • Test Analytics 1
  • Test Engineer 1
  • Tim Lyakhovetskiy 1
  • Tom O'Neill 1
  • Vojta Jína 1
  • Zhe Lu 1
  • automation 1
  • dead code 1
  • iOS 1
  • mutation testing 1


Archive


  • ►  2026 (8)
    • ►  жовт. (1)
    • ►  лип. (1)
    • ►  черв. (1)
    • ►  трав. (2)
    • ►  квіт. (1)
    • ►  бер. (2)
  • ►  2025 (3)
    • ►  жовт. (1)
    • ►  вер. (1)
    • ►  січ. (1)
  • ►  2024 (13)
    • ►  груд. (1)
    • ►  жовт. (1)
    • ►  вер. (1)
    • ►  серп. (1)
    • ►  лип. (1)
    • ►  трав. (3)
    • ►  квіт. (3)
    • ►  бер. (1)
    • ►  лют. (1)
  • ►  2023 (14)
    • ►  груд. (2)
    • ►  лист. (2)
    • ►  жовт. (5)
    • ►  вер. (3)
    • ►  серп. (1)
    • ►  квіт. (1)
  • ►  2022 (2)
    • ►  лют. (2)
  • ►  2021 (3)
    • ►  черв. (1)
    • ►  квіт. (1)
    • ►  бер. (1)
  • ►  2020 (8)
    • ►  груд. (2)
    • ►  лист. (1)
    • ►  жовт. (1)
    • ►  серп. (2)
    • ►  лип. (1)
    • ►  трав. (1)
  • ►  2019 (4)
    • ►  груд. (1)
    • ►  лист. (1)
    • ►  лип. (1)
    • ►  січ. (1)
  • ►  2018 (7)
    • ►  лист. (1)
    • ►  вер. (1)
    • ►  лип. (1)
    • ►  черв. (2)
    • ►  трав. (1)
    • ►  лют. (1)
  • ▼  2017 (17)
    • ►  груд. (1)
    • ►  лист. (1)
    • ►  жовт. (1)
    • ►  вер. (1)
    • ►  серп. (1)
    • ►  лип. (2)
    • ▼  черв. (2)
      • Code Health: Too Many Comments on Your Code Reviews?
      • Code Health: Reduce Nesting, Reduce Complexity
    • ►  трав. (3)
    • ►  квіт. (2)
    • ►  лют. (1)
    • ►  січ. (2)
  • ►  2016 (15)
    • ►  груд. (1)
    • ►  лист. (2)
    • ►  жовт. (1)
    • ►  вер. (2)
    • ►  серп. (1)
    • ►  черв. (2)
    • ►  трав. (3)
    • ►  квіт. (1)
    • ►  бер. (1)
    • ►  лют. (1)
  • ►  2015 (14)
    • ►  груд. (1)
    • ►  лист. (1)
    • ►  жовт. (2)
    • ►  серп. (1)
    • ►  черв. (1)
    • ►  трав. (2)
    • ►  квіт. (2)
    • ►  бер. (1)
    • ►  лют. (1)
    • ►  січ. (2)
  • ►  2014 (24)
    • ►  груд. (2)
    • ►  лист. (1)
    • ►  жовт. (2)
    • ►  вер. (2)
    • ►  серп. (2)
    • ►  лип. (3)
    • ►  черв. (3)
    • ►  трав. (2)
    • ►  квіт. (2)
    • ►  бер. (2)
    • ►  лют. (1)
    • ►  січ. (2)
  • ►  2013 (16)
    • ►  груд. (1)
    • ►  лист. (1)
    • ►  жовт. (1)
    • ►  серп. (2)
    • ►  лип. (1)
    • ►  черв. (2)
    • ►  трав. (2)
    • ►  квіт. (2)
    • ►  бер. (2)
    • ►  січ. (2)
  • ►  2012 (11)
    • ►  груд. (1)
    • ►  лист. (2)
    • ►  жовт. (3)
    • ►  вер. (1)
    • ►  серп. (4)
  • ►  2011 (39)
    • ►  лист. (2)
    • ►  жовт. (5)
    • ►  вер. (2)
    • ►  серп. (4)
    • ►  лип. (2)
    • ►  черв. (5)
    • ►  трав. (4)
    • ►  квіт. (3)
    • ►  бер. (4)
    • ►  лют. (5)
    • ►  січ. (3)
  • ►  2010 (37)
    • ►  груд. (3)
    • ►  лист. (3)
    • ►  жовт. (4)
    • ►  вер. (8)
    • ►  серп. (3)
    • ►  лип. (3)
    • ►  черв. (2)
    • ►  трав. (2)
    • ►  квіт. (3)
    • ►  бер. (3)
    • ►  лют. (2)
    • ►  січ. (1)
  • ►  2009 (54)
    • ►  груд. (3)
    • ►  лист. (2)
    • ►  жовт. (3)
    • ►  вер. (5)
    • ►  серп. (4)
    • ►  лип. (15)
    • ►  черв. (8)
    • ►  трав. (3)
    • ►  квіт. (2)
    • ►  лют. (5)
    • ►  січ. (4)
  • ►  2008 (75)
    • ►  груд. (6)
    • ►  лист. (8)
    • ►  жовт. (9)
    • ►  вер. (8)
    • ►  серп. (9)
    • ►  лип. (9)
    • ►  черв. (6)
    • ►  трав. (6)
    • ►  квіт. (4)
    • ►  бер. (4)
    • ►  лют. (4)
    • ►  січ. (2)
  • ►  2007 (41)
    • ►  жовт. (6)
    • ►  вер. (5)
    • ►  серп. (3)
    • ►  лип. (2)
    • ►  черв. (2)
    • ►  трав. (2)
    • ►  квіт. (7)
    • ►  бер. (5)
    • ►  лют. (5)
    • ►  січ. (4)

Feed

  • Google
  • Privacy
  • Terms