This content emphasizes the critical importance of high-quality software development, particularly within the Mendix low-code platform, by detailing best practices, potential pitfalls, and strategies for achieving robust and maintainable applications.
Mind Map
คลิกเพื่อขยาย
คลิกเพื่อสำรวจ Mind Map แบบอินเตอร์แอคทีฟฉบับเต็ม
stream
me first. Good.
Hey there.
Mantix is not engineering.
Uh, Mandix is engineering, not just low code.
My name is Yan Stley. I came from the
beautiful burn in Switzerland. I have
two hobbies. One is art. I do tradition
traditional Swiss paper cutting.
Um I take uh black paper and
cut out white shapes. So that a picture
is creating.
My other hobby is programming.
I work a lot with computers.
Um I starting using computers
um early because
dyslexia
um which make it very hard to read and
write. So with computer it make it more
easier for me. Um
after my apprenticeship I study medical information.
information.
This is an IT
um with focus on healthcare.
More than 10 years ago I feel in love
with flow code
and yeah I do other platforms. Um but of
course Mandix is my favorite platform. I
in many project I see that important
practice are not fully stricted
uh in low code other than in high code.
I believe this is wrong. Um
Um
it will be take closer look at the at
following topics step by step. We will
talk about why is good quality so
important, how we can achieve good
quality software and what will be the
We look why good quality is so important.
important.
Um, we have an app
that is running with Mandix 7. We have
it built long ago and the plan was to do
it with uh to do a app with Mandix
hybrid mobile.
it was the perfect fit for the customer
but now it outdated.
Then Mandix 9 is arrived and
um we have um Mendix native apps. So it
give us a beautiful UI but the data
structure in the background must change
for the customer. This was too expensive.
expensive.
So we need another option.
Um it must be efficient, secure and sustainable.
But we have two Um
Um
we are a large company. We have um many
of our developers using high code.
We have a security
cyber security team. We have data and
AI. We have specialists for cloud devops
and we have a mobile team.
Together we found a solution.
We use a flatter app. We build it as a
wrapper app. Um and inside this we use
mobile Mandix mobile. So it was a
perfect fit for our co customer. It was
cost efficient and we have to do not a
It works perfectly until we upgraded it
to Mandix 10.
All the tests was passed. We publish it.
No problem.
all the tests was passed. It publishes
no problem.
After a few days, we got more and more
so um tickets. We have a problem. But why?
why?
Um the link in the app was outdated
because we changed it from P to the link
because we have other um males and there
we have a link in it. But why we have
tested this but why we don't realized this.
this.
So the problem was that the link in the
app was cached
and we have to fix it because um when a
new user downloads the app we have a problem.
problem.
So we build a new app. This was very and
and
we deliver it but it was a bug on production
production
and this is not so nice.
We have clear requirements. This is the
starting point.
We have to develop something to test it
test it right and publish it.
sample of validation.
You can do this in a client. You can do
this for example in the client. You can
do this with nanoflows or JavaScript.
Probably not the best. You can do this
in the server with a micrflow or a Java action.
action. But
But
build a little Mandix app.
here
I have the database
and here
or I start order I can create gift card
with a vouch code
Uh the other things in the client and
the native app uh in the client and the
micrflow you can go um
it's required when I just save it.
So I can go here
with something
Save this and this is on the database.
But now
I can committing
in a micrflow
here. I get also a validation error but
I try. Yeah.
Yeah, exactly. So,
So,
it's committed without
and allmentation
allmentation
of Mandix but this you need to know
and this is very important.
So next
driven development
it is not so complicated.
You write a test first
then the test will be red
then you make it uh you implement the
function the test will be green then you
do a refactoring and then you do a next
test. For example, you can
uh doing a validation between uh numbers
between zero and 10. In this range, you
can um insert a one in the test and then
it's red because the function is not
there. And then you
do a little um
um
you do a little test and so on.
And this is very important.
But at the other thing when you change
something you write a lot of tests.
When you change something all the tests
must be rewritten. So it's very cost intensive
intensive
but you have the best quality of a
software when you write the test before
the function. So
So
have a look at tests have
have
different things. Um
Um
testing is not quality.
For example, it um when we look at
quality assurance,
it is more setting standards
um creating guidelines
um the workflow and not and quality
control is more detect bugs, review code
and test the software before release. And
And
software testing is another thing.
So you
find and fix code issues. Um
Um
typical uh this is not done by a developer.
developer.
There you have test engineers. They test
a different way. Um
Um
here you can see the test pyramid. Um
Um
most of your test should unit tests.
Every function should have a unit tests
and if you go higher
they are more expensive
and um it tests more in the functionality.
functionality.
You should also doing system tests
or test system functions.
So for example
is from another low code platform but
Mandix can have similar bugs. I remember
one case often in an update the auto was
deleted when it was in a onetoone
relationship. I believe it was 7.18 or
so. It's a long time ago.
So here
we are inside a loop and retrieve a
user. We then set
um a v variable and send a mail. Then we
take a second user, set a variable and
send a mail. often upgrade the same logic.
logic.
We take a user, set a variable and send
a mail.
Take a user, set a variable. But here we
have two mails and then we send it
to users. So not so nice. And there we
made this
um we made a test mode.
When the test mode is off, the emails
will send normal.
When um the test mode is on,
the system don't send the mail to the
uh to the test per uh to the test mailbox
mailbox
and we then
make um
a lock entry with the real per person so
that we can check in the locks on which
person the mail was sent
um and in production the mail is sending
to this user.
So we have now this
steps but a very important thing
is code reviews.
Port reviews are something I care deeply about.
about.
Getting a second pair of eyes on your
code is essential.
No story, even the smallest change
should go on production without being
reviewed by other developers. So
So
golden the general rules of code reviews.
reviews.
Um you should
reviews after all tests are successfully completed.
completed.
Um it makes little sense to check the functionality