Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: [OT] Finding similar program code

by jdporter (Paladin)
on Aug 30, 2021 at 15:13 UTC ( [id://11136217]=note: print w/replies, xml ) Need Help??


in reply to [OT] Finding similar program code

I'm faced with a similar problem in a project I'm working on, except it's C# code, and the copypasta code isn't neatly encapsulated in functions. @Previous_Programmer c&p'd large-ish chunks of code around within one big function, which is now around 5,000 lines in length. :-(

Replies are listed 'Best First'.
Re^2: [OT] Finding similar program code
by afoken (Chancellor) on Aug 30, 2021 at 17:32 UTC

    I feel your pain. So far, almost all functions in the mess I inherited are click handlers for buttons or other elements, the remaining few are called from one or the other click handlers. And the functions I've analyzed so far had no more than about 3000 lines after automatic indent and wrap cleanup.

    I know C-style copypasta code from previous experience (see "You are too academic" in "Your code sucks"), where I had the luck that it was finally made somebody else's problem. Crappy code is one thing, but it becomes really nasty when documentation, editor and compiler don't agree about the language specification, and compiler and runtime have bugs that are triggered about daily in the production systems - like silently NOT executing SQL queries.

    Looking back at "too academic", I should be quite happy with VBA. Yes, it is a messy basic, with clear origins in the 16 bit world (for loops become faster when you declare the loop ariable as integer, which limits the loop variable to 16 bit signed integers even on 64 bit systems), some default behaviours are plain weird, and the two variants of if-then-else (block form and line form, one with endif, one without) are annoying for my stupid little cleanup script. But at least it is a much cleaner language than that Hunchback-Gollum-Salvatore C derivate, and it does not prevent you from checking for errors.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      that Hunchback-Gollum-Salvatore C derivate

      wait - do you mean C#? Because imho C# is a great language.

        that Hunchback-Gollum-Salvatore C derivate
        wait - do you mean C#? Because imho C# is a great language.

        No. Follow the link in the previous paragraph. HGS is from "You are too academic" in "Your code sucks".

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11136217]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-03-29 12:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found