3

I am a software developer. I am looking for a good verb that I can use to convey to people that I made a set of changes to a piece of code that made the code more modular. In other words, I took a bunch of tightly coupled code and broke it out into a bunch of smaller blocks that can now be easily interchanged.

I don't really like "modularized" although it appears to be an accepted term.

Are there any good synonyms?

  • In my experience, converting monolithic code to modular code is usually the reason for refactoring – FumbleFingers Jul 4 '15 at 19:34
  • Refactoring is too general. – Luke Jul 4 '15 at 19:52
  • Do you want to more completely modularize? – Hot Licks Jul 4 '15 at 21:00
  • 3
    Why don't you like modularise? It is the obvious choice, and it means exactly what it should mean. – Janus Bahs Jacquet Jul 4 '15 at 21:37
  • 1
    Refactoring is too general? Your use of computing terms is unusual: refactoring means "modularizing, and also changing the variable names so they are self-documenting". What else could it mean? – Fattie Jul 5 '15 at 5:40
7

The larger program has been divided into individually usable components:

adjective
[ATTRIBUTIVE]
Constituting part of a larger whole; constituent:
ODO

Componentize, a verbal derivative of component, seems to be gaining traction in the programing field. Microsoft executive, Dave Ursino, used the expression for exactly the same retro-design dynamic described in the OP in NT Embedded Is OS-Agnostic.:

We component-ize that. And we do that because there's all these different various vertical markets and devices that people are making that have different requirements that obviously require more flexibility than the standard base operating system will allow them to do. So what we've done is taken the NT Workstation operating system and broken up the individual feature components into piece component-features that you can actually fit and choose and put back together in any way you see fit for your target device.
freelibrary.com, emphasis added

It is also used to describe a process of adding components to a core program, as seen in a quote of Robert Murrie, from HIE Releases New Version of Flagship EAI Solution.:

"The Global Monitoring tool is our first feature that centralizes functions into one browser-based front-end. As we continue to componentize Cloverleaf and introduce more Java-based GUIs (graphical user interfaces), we are working toward a more web-compliant strategy to support larger organizations with business-level integration processes involving the Internet."
freelibrary.com, emphasis added

| improve this answer | |
  • Componentizing seems fine, and you've given many examples of usage. – Fattie Jul 5 '15 at 5:41
  • Componentize seems to have the same "techy" downside as modularize :-) – Ed Miller Jul 6 '15 at 23:25
3

Modularize is pretty much the accepted term here. Any other software engineer will understand what you're saying when you use it.

Im not a massive fan of it either though, so I've experimented with alternatives over the years.

The most intuitively grasped so far has been partition, as in "Yesterday I partitioned the project into 3 different libraries."

There's the obvious and simple split, as in "I split the project up", but it's somehow unsatisfying. Largely, I think, because it lacks emphasis.

If the partitioning was due to messy code, which likely means there were also other things wrong, then I use the broader term rationalized. "I rationalized the code into a set of modules with clearer interfaces" That doesn't explicitly mean partition, but practically speaking that's what rationalizing a code base usually entails.

I've tried decompose, but in speech it doesn't ring quite right. Probably because decompose is also used to refer to the process of animate organic matter breaking down after it dies.

For similar reasons break, as in "I broke the code into smaller modules" feels horribly wrong. I didn't break the code!

There are two cousins that I've heard used, and I'm not entirely opposed to them: box and package. "I boxed up the submission code into its own module" or "I packaged that chunk into its own module". Interestingly, graphic layout language uses the word 'box' for callouts and sidebars, describing them as having been "boxed out". As a result I've also heard people say, "I boxed out that chunk of code." Obviously to a software engineer, the using package as a verb here is more familiar, as the noun package as in "code package" is used as a synonym for module.

Finally, I've also used isolated, specifically when referring to a chunk of code that needed to be kept away from the rest of the code base. "For security reasons, I isolated the password mangling code into its own module", or "This stuff is mostly throw away work, so I isolated it into its own module."

| improve this answer | |
1

Just for fun, what about

un-cowboy

Uncowboy this stuff here, please.

I can't find a printed usage of it, but unless you've been on Mars for 30 years you'll know that cowboy coding is basically the opposite of good ("modularized") coding.

if you took any engineer in the world and pointed to some part of the project and said "Uncowboy this here..." it would be perfectly understood. So, just a thought.

| improve this answer | |
0

Modular-deconstruction.

Deconstruct into modules.

| improve this answer | |
  • I have never, ever, ever heard that used. Can you find even one use of it in print, Erin? – Fattie Jul 5 '15 at 5:39
  • 1
    Note too -- "deconstruction", a word used solely in philosophical discussions, has utterly no relationship to "taking apart" something or in general to engineering. (It essentially means "accepting that political views affect meaning" when discussing language; it relates to, in a sense, rejecting supposed 'absolute' ("white guy's") knowledge. Again it just has utterly no connection in any way, to eg making bridges or writing network code.) – Fattie Jul 5 '15 at 5:44
  • @JoeBlow: I agree that this phrase is probably not popularized, but I'd guess there is a legitimate analogy between the linguistic use and this proposed use. It seems that in linguistics the idea of deconstruction dismantles the semantic and syntactical issues from the core of the writers intent, in somewhat the same way that the programmer dismantles the components from the core program. This is not my expertise, so I might be all wet. – John Smith Jul 5 '15 at 16:52
  • 1
    Really John, I think it has no relationship. Funnily enough I was discussing humorously "deconstructing" some code the other day, along the lines of essentially seeking the "real!!" meaning - what is truth, here?! {Again: purely humorous .. "deconstruct" some code, as Art Language "deconstructs" English!!} Note that the process in question .. refactoring, or modularizing .. is as utterly commonplace as say "oiling" a part for a car mechanic or "sanding" wood for a carpenter. if there was a struggle to find the terms "oiling" or "sanding" - well it would just be silly. – Fattie Jul 5 '15 at 16:59
  • 1
    I've only used and encountered deconstruct in software to mean one of two things: either reverse engineering something to work out how it functions, or more commonly to refer to the act of negatively critiquing code as in, "she then proceeded to deconstruct the function, working through the set of thought processes they likely followed to end up with that monstrosity" – Chris Subagio Jul 5 '15 at 18:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.