turn right thoughts into products

collections of tools and tricks to build your own products

Monday, December 21, 2020

refactoring in Java

refactoring in Java

  1. Refactoring Java, Part 1: Driving agile development with test-driven development
  2. Refactoring Java, Part 2: Stabilizing your legacy code and technical debt
  3. Refactoring Java, Part 3: Regaining business agility by simplifying legacy code
  4. The Java Optional class: 11 more recipes for preventing null pointer exceptions
  5. 12 recipes for using the Optional class as it’s meant to be used
  6. Refactoring Java Code
Posted by Southmountain at 10:12 AM
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

About Me

Southmountain
software developer/architect
View my complete profile

Blog Archive

  • ►  2024 (3)
    • ►  March (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2023 (59)
    • ►  December (6)
    • ►  November (3)
    • ►  October (1)
    • ►  September (5)
    • ►  August (7)
    • ►  July (8)
    • ►  June (5)
    • ►  May (1)
    • ►  April (6)
    • ►  March (3)
    • ►  February (8)
    • ►  January (6)
  • ►  2022 (162)
    • ►  December (5)
    • ►  November (4)
    • ►  October (5)
    • ►  September (9)
    • ►  August (13)
    • ►  July (18)
    • ►  June (30)
    • ►  May (27)
    • ►  April (8)
    • ►  March (13)
    • ►  February (7)
    • ►  January (23)
  • ►  2021 (297)
    • ►  December (6)
    • ►  November (21)
    • ►  October (70)
    • ►  September (17)
    • ►  August (15)
    • ►  July (13)
    • ►  June (9)
    • ►  May (13)
    • ►  April (6)
    • ►  March (30)
    • ►  February (32)
    • ►  January (65)
  • ▼  2020 (231)
    • ▼  December (41)
      • MSIX Tutorial: A comprehensive 24-chapter guide
      • Convext Hull research
      • Error C3646 'CHAR': unknown override specifier aut...
      • Error C1189 #error: MFC does not support WINVER l...
      • Modernizing Legacy C++ Code
      • Error C2065 'afxChNil': undeclared identifier Demo...
      • Error C2440: 'static_cast': cannot convert from '...
      • Warning C4653 compiler option 'Optimizations (one ...
      • Warning C4840:: non-portable use of class ATL::CS...
      • MFC custom control
      • Error C2668 'abs': ambiguous call to overloaded fu...
      • DEbug assertion failed D:\agent\_work\20\s\src\vct...
      • 3D surface plot research
      • refactoring in Java
      • STL story
      • List of _MSC_VER and _MSC_FULL_VER
      • what is SDKDDKVer.h for?
      • WARNING: _WIN32_WINNT not defined. Defaulting to _...
      • Error C3861 '_DEBUG_RANGE': identifier not found C...
      • MFC Collection Type Class
      • Enabling Debug Features in C++ projects (/D_DEBUG)
      • Compile MFC Sources with Visual Studio 2019
      • debugging tricks in Visual Studio
      • Warning LNK4075 ignoring '/EDITANDCONTINUE' due to...
      • pre-compiled header file configuration
      • macro DEBUG_NEW
      • mutex and thread safe tricks
      • Warning: _WIN32_WINNT not defined.
      • Warning LNK4098 defaultlib 'MSVCRT' conflicts with...
      • Error C1083 Cannot open include file: 'correct.h':...
      • Error C1083 Cannot open include file: 'cdxCRot90DC...
      • MFC good lessons
      • Warning C4996 'CWinApp::Enable3dControls': CWinApp...
      • Error: the system can not find the path specified
      • Error C1189 #error: Please use the /MD switch for...
      • Error LNK2019 unresolved external symbol __imp__In...
      • Error C2440 '=': cannot convert from 'long (__cdec...
      • how to exclude folder in TortoiseSVN client submis...
      • Error (active) E0513 a value of type "HGDIOBJ" can...
      • MFC feature pack guide
      • Visual C++ RTTI research
    • ►  November (31)
    • ►  October (42)
    • ►  September (21)
    • ►  August (11)
    • ►  July (7)
    • ►  June (8)
    • ►  May (3)
    • ►  April (5)
    • ►  March (10)
    • ►  February (28)
    • ►  January (24)
  • ►  2019 (165)
    • ►  December (16)
    • ►  November (26)
    • ►  October (10)
    • ►  September (1)
    • ►  August (23)
    • ►  July (24)
    • ►  June (20)
    • ►  May (13)
    • ►  April (19)
    • ►  March (6)
    • ►  February (4)
    • ►  January (3)
  • ►  2018 (68)
    • ►  November (2)
    • ►  September (1)
    • ►  August (1)
    • ►  July (3)
    • ►  June (7)
    • ►  May (3)
    • ►  April (2)
    • ►  March (11)
    • ►  February (14)
    • ►  January (24)
  • ►  2017 (78)
    • ►  December (8)
    • ►  November (6)
    • ►  October (9)
    • ►  September (7)
    • ►  August (4)
    • ►  July (4)
    • ►  June (2)
    • ►  May (12)
    • ►  April (9)
    • ►  March (10)
    • ►  February (7)
  • ►  2016 (127)
    • ►  December (8)
    • ►  November (6)
    • ►  October (23)
    • ►  September (12)
    • ►  August (7)
    • ►  July (4)
    • ►  June (17)
    • ►  May (10)
    • ►  April (8)
    • ►  March (9)
    • ►  February (15)
    • ►  January (8)
  • ►  2015 (102)
    • ►  December (15)
    • ►  November (30)
    • ►  October (28)
    • ►  September (12)
    • ►  August (8)
    • ►  July (9)
Simple theme. Theme images by luoman. Powered by Blogger.