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

      How To Fix Largest Contentful Paint Issues With Subpart Analysis

      June 9, 2025

      How To Prevent WordPress SQL Injection Attacks

      June 9, 2025

      CodeSOD: A Real POS Report

      June 9, 2025

      Decoding The SVG path Element: Line Commands

      June 9, 2025

      Apple doesn’t need better AI as much as AI needs Apple to bring its A-game

      June 8, 2025

      DistroWatch Weekly, Issue 1125

      June 8, 2025

      Motion Highlights #9

      June 8, 2025

      The 2025 Wholesome Direct was chock-full of cozy casual games and aesthetic vibes

      June 8, 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

      GuacPanel

      June 9, 2025
      Recent

      GuacPanel

      June 9, 2025

      FilamentExamples.com: Our Demo-Projects and Tutorials on Filament

      June 9, 2025

      Laravel Migration With Schema Validation in MongoDB

      June 9, 2025
    • Operating Systems
      1. Windows
      2. Linux
      3. macOS
      Featured

      Raspberry Pi 5 Desktop Mini PC: Installing Software

      June 9, 2025
      Recent

      Raspberry Pi 5 Desktop Mini PC: Installing Software

      June 9, 2025

      SmartOS – Type 1 Hypervisor platform based on illumos

      June 9, 2025

      Karakeep is a self-hostable bookmark-everything app

      June 9, 2025
    • Learning Resources
      • Books
      • Cheatsheets
      • Tutorials & Guides
    Home»Tech & Work»CodeSOD: A Real POS Report

    CodeSOD: A Real POS Report

    June 9, 2025

    Eddie‘s company hired a Highly Paid Consultant to help them retool their systems for a major upgrade. Of course, the HPC needed more and more time, and the project ran later and later and ended up wildly over budget, so the HPC had to be released, and Eddie inherited the code.

    What followed was a massive crunch to try and hit absolutely hard delivery dates. Management didn’t want their team “rewriting” the expensive code they’d already paid for, they just wanted “quick fixes” to get it live. Obviously, the HPC’s code must be better than theirs, right?

    After release, a problem appeared in one of their sales related reports. The point-of-sale report was meant to deliver a report about which items were available at any given retail outlet, in addition to sales figures. Because their business dealt in a high volume of seasonal items, every quarter the list of items was expected to change regularly.

    The users weren’t seeing the new items appear in the report. This didn’t make very much sense- it was a report. The data was in the database. The report was driven by a view, also in the database, which clearly was returning the correct values? So the bug must be in the code which generated the report…

    If POSItemDesc = "Large Sign" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "Large Sign"
    End If
    If POSItemDesc = "Small Sign" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "Small Sign"
    End If
    If POSItemDesc = "2x2 Hanging Sign" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "2x2 Hanging Sign"
    End If
    If POSItemDesc = "1x1 Sign" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "1x1 Sign"
    End If
    '.........Snipping more of these........
    If POSItemDesc = "Light Thief" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "Light Thief"
    End If
    If POSItemDesc = "Door Strike" Then
            grdResults.Columns.FromKey("FColumn12").Header.Caption = "Door Strike"
    End If
    

    First, it’s worth noting that inside of the results grid display item, the HPC named the field FColumn12, which is such a wonderfully self documenting name, I’m surprised we aren’t all using that everywhere. But the more obvious problem is that the list of possible items is hard-coded into the report; items which don’t fit one of these if statements don’t get displayed.

    At no point, did the person writing this see the pattern of “I check if a field equals a string, and then set another field equal to that string,” and say, “maybe there’s a better way?” At no point, in the testing process, did anyone try this report with a new item?

    It was easy enough for Eddie to change the name of the column in the results grid, and replace all this code with a simpler: grdResults.Columns.FromKey("POSItem").Header.Caption = POSItemDesc, which also had the benefit of actually working, but we’re all left puzzling over why this happened in the first place. It’s not like the HPC was getting paid per line of code. Right? Right?

    Of course not- no HPC would willingly be paid based on any metric that has an objective standard, even if the metric is dumb.

    [Advertisement]
    ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

    Source: Read More 

    news
    Facebook Twitter Reddit Email Copy Link
    Previous ArticleDecoding The SVG path Element: Line Commands
    Next Article How To Prevent WordPress SQL Injection Attacks

    Related Posts

    Tech & Work

    How To Fix Largest Contentful Paint Issues With Subpart Analysis

    June 9, 2025
    Tech & Work

    How To Prevent WordPress SQL Injection Attacks

    June 9, 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

    CVE-2025-27365 – IBM MQ Operator SIGSEGV Memory Corruption Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Never Tell me The Odds Shirt

    Web Development

    Automate document translation and standardization with Amazon Bedrock and Amazon Translate

    Machine Learning

    CVE-2025-35007 – Microhard BulletLTE-NA2/IPn4Gii-NA2 Command Injection Vulnerability

    Common Vulnerabilities and Exposures (CVEs)

    Highlights

    10 must-try Google Photos tips and tricks – including a new AI editor

    May 29, 2025

    Google Photos is turning 10 – so Google’s sharing the app’s top features, and it’s…

    CVE-2025-3636 – Moodle RSS Feed Access Vulnerability

    April 25, 2025

    DeepMind’s latest research at ICLR 2023

    May 27, 2025

    LLMs Can Learn Complex Math from Just One Example: Researchers from University of Washington, Microsoft, and USC Unlock the Power of 1-Shot Reinforcement Learning with Verifiable Reward

    May 3, 2025
    © DevStackTips 2025. All rights reserved.
    • Contact
    • Privacy Policy

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