A few questions on your experience with bad patterns

Hi!

I am currently writing my Master's thesis on code smells/bad patterns in low-code applications and specifically in OutSystems applications.

It would really help me if you could fill out my survey:

https://orladijkink1.outsystemscloud.com/Survey/

It only costs about 10 minutes and the more replies I get, the more useful the results will be. If you have any questions, please let me know!

Thank you so much for your help!

Orla

Hi Orla,

I filled out your survey but the first question left me thinking. There's two patterns identified as bad, but I don't follow as to why:

 - Feature envy, described as an action that accesses the data of another module more than it's own data;

 - Data module, described as a module that only has Entities and CRUD actions for those Entities;

Those two patterns seem to end up describing a good deal of the 4 Layer Canvas and the separation of responsibilities in general - most Core Modules that I've encountered consist of a set of Entities and their CRUDs.

Hi Afonso,

First of all, thanks for filling out my survey!

On your question: Those patterns are based on the list of code smells originally composed by Martin Fowler. Since OutSystems is not a Object Oriented language, there will be some patterns that are not applicable. Either because it is just not possible, or like in this case they might not be bad patterns at all.

These are actually the kind of things I hope to discover during my research. There is a lot of research on code smells/bad patterns and their effect on quality and maintainability, just not for low-code. I am making a start by creating a list of patterns that occur in OutSystems and how they manifest in the code.

A data module is not a bad pattern at all, imho. Also, switch statements aren't bad per se.

"How many years of development experience, in any language or platform, do you have?" - it only goes to 10???

Kilian Hekhuis wrote:

"How many years of development experience, in any language or platform, do you have?" - it only goes to 10???

You can read 10 as 10+ years, that is how I am using it in my data. After 10 years you just have a lot of experience, there is not a big difference between 10 and 15 years of experience.


Orla Dijkink wrote:

These are actually the kind of things I hope to discover during my research. There is a lot of research on code smells/bad patterns and their effect on quality and maintainability, just not for low-code. I am making a start by creating a list of patterns that occur in OutSystems and how they manifest in the code.

That makes sense. I'm not completely sure on how you plan to model your data, but have you considered adding explicit disagreement as a response? Right now, my possible answers are leaving it blank, which would identify my answer as not knowing the pattern or "never seen it", which isn't applicable either. 

I ended up leaving it blank, but I'm not sure if that's what you intended for your dataset.

Afonso Carvalho wrote:

Orla Dijkink wrote:

These are actually the kind of things I hope to discover during my research. There is a lot of research on code smells/bad patterns and their effect on quality and maintainability, just not for low-code. I am making a start by creating a list of patterns that occur in OutSystems and how they manifest in the code.

That makes sense. I'm not completely sure on how you plan to model your data, but have you considered adding explicit disagreement as a response? Right now, my possible answers are leaving it blank, which would identify my answer as not knowing the pattern or "never seen it", which isn't applicable either. 

I ended up leaving it blank, but I'm not sure if that's what you intended for your dataset.

That's where the second question comes in, there you can say that a pattern is not harmful. I am only looking at bad patterns, so saying that something is not bad is good enough for me. I am not looking at desired patterns. 

But I am really glad that you're putting so much thought in to answering the questions, that makes the results so much better!


Orla Dijkink wrote:

You can read 10 as 10+ years, that is how I am using it in my data. After 10 years you just have a lot of experience, there is not a big difference between 10 and 15 years of experience.

*cough* I'll talk to you when you have 15+ years of experience ;). (Or 25+, in my case ;))


@Kilian: your last post made me laugh :-D

@Orla: you have one more filled out survey. Good luck with the last steps!

Even with that 10 as >10 question, in general it was one of the best-structured surveys I have had to fill.

Good luck.

hmm, is that survey available as a forge-component ;)

very nice :)