Close Menu
    DevStackTipsDevStackTips
    • Home
    • News & Updates
      1. Tech & Work
      2. View All

      Integrating CSS Cascade Layers To An Existing Project

      September 11, 2025

      How React.js AI Code Generation Accelerates Digital Transformation Initiatives

      September 11, 2025

      Progress Software unveils RAG-as-a-Service platform

      September 11, 2025

      Surviving the AI Takeover in QA: How to Join the Top 1%

      September 11, 2025

      Distribution Release: GLF OS 25.05

      September 10, 2025

      Your guide to GitHub Universe 2025: The schedule just launched!

      September 10, 2025

      What’re Your Top 4 CSS Properties?

      September 10, 2025

      Distribution Release: Univention Corporate Server 5.2-3

      September 10, 2025
    • Development
      1. Algorithms & Data Structures
      2. Artificial Intelligence
      3. Back-End Development
      4. Databases
      5. Front-End Development
      6. Libraries & Frameworks
      7. Machine Learning
      8. Security
      9. Software Engineering
      10. Tools & IDEs
      11. Web Design
      12. Web Development
      13. Web Security
      14. Programming Languages
        • PHP
        • JavaScript
      Featured

      Modernizing on Your Own Terms: A Strategic Guide to Managing Node.js Legacy Systems

      September 11, 2025
      Recent

      Modernizing on Your Own Terms: A Strategic Guide to Managing Node.js Legacy Systems

      September 11, 2025

      External Forces Reshaping Financial Services in 2025 and Beyond

      September 10, 2025

      Why It’s Time to Move from SharePoint On-Premises to SharePoint Online

      September 10, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      FOSS Weekly #25.37: Mint 22.2 Released, Official KDE Distro, Kazeta Linux for 90s Gaming, Ubuntu 25.10’s New Terminal and More Linux Stuff

      September 11, 2025
      Recent

      FOSS Weekly #25.37: Mint 22.2 Released, Official KDE Distro, Kazeta Linux for 90s Gaming, Ubuntu 25.10’s New Terminal and More Linux Stuff

      September 11, 2025

      Distribution Release: GLF OS 25.05

      September 10, 2025

      Distribution Release: Univention Corporate Server 5.2-3

      September 10, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»News & Updates»CodeSOD: Upsert Yours

    CodeSOD: Upsert Yours

    September 10, 2025

    Henrik H sends us a short snippet, for a relative value of short.

    We’ve all seen this method before, but this is a particularly good version of it:

    <span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">CustomerController</span>
    {
        <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">MyAction</span>(<span class="hljs-params">Customer customer</span>)</span>
        {
            <span class="hljs-comment">// snip 125 lines</span>
    
            <span class="hljs-keyword">if</span> (customer.someProperty)
                _customerService.UpsertSomething(customer.Id, 
                customer.Code, customer.Name, customer.Address1, 
                customer.Address2, customer.Zip, customer.City, 
                customer.Country, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>,
                <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">true</span>, <span class="hljs-number">0</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, customer.TemplateId, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-built_in">string</span>.Empty, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, MiscEnum.Standard, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>);
            <span class="hljs-keyword">else</span>
                _customerService.UpsertSomething(customer.Id, 
                customer.Code, customer.Name, customer.Address1, 
                customer.Address2, customer.Zip, customer.City, 
                customer.Country, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">true</span>, <span class="hljs-number">0</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, customer.TemplateId, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-built_in">string</span>.Empty, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">true</span>, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, MiscEnum.Standard, <span class="hljs-literal">false</span>, <span class="hljs-literal">false</span>, 
                <span class="hljs-literal">false</span>, <span class="hljs-literal">true</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>, <span class="hljs-literal">null</span>);
    
            <span class="hljs-comment">// snip 52 lines</span>
        }
    }
    

    Welcome to the world’s most annoying “spot the difference” puzzle. I’ve added line breaks (as each UpsertSomething was all on one line in the original) to help you find it. Here’s a hint: it’s one of the boolean values. I’m sure that narrows it down for you. It means the original developed didn’t need the if/else and instead could have simply passed customer.someProperty as a parameter.

    Henrick writes:

    While on a simple assignment to help a customer migrate from .NET Framework to .NET core, I encountered this code. The 3 lines are unfortunately pretty representative for the codebase

    [Advertisement]
    BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!

    Source: Read More 

    Facebook Twitter Reddit Email Copy Link
    Previous ArticleHow AI is Redefining Traditional GCC Cost Models for Peak Efficiency
    Next Article Reality meets Emotion: The 3D Storytelling of Célia Lopez

    Related Posts

    News & Updates

    Distribution Release: GLF OS 25.05

    September 10, 2025
    News & Updates

    Your guide to GitHub Universe 2025: The schedule just launched!

    September 10, 2025
    Leave A Reply Cancel Reply

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

    Continue Reading

    NVIDIA’s latest driver fixes some big issues with DOOM: The Dark Ages

    News & Updates

    CVE-2025-9287 – Cipher-Base Cryptographic Input Data Manipulation Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    MeshLab processes and edits 3D triangular meshes

    Linux

    How to Create a JavaScript EXIF Info Parser to Read Image Metadata

    Development

    Highlights

    Development

    Malicious Go, npm Packages Deliver Cross-Platform Malware, Trigger Remote Data Wipes

    August 7, 2025

    Cybersecurity researchers have discovered a set of 11 malicious Go packages that are designed to…

    Pokémon has partnered with one of the biggest PC gaming brands again, and you can actually buy these accessories — but do you even want to?

    July 17, 2025

    CVE-2025-41229 – VMware Cloud Foundation Directory Traversal Vulnerability

    May 20, 2025

    CVE-2025-6292 – D-Link DIR-825 HTTP POST Request Handler Stack-Based Buffer Overflow Vulnerability

    June 19, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.