SlideShare a Scribd company logo
1 of 49
Download to read offline
created by
created by
KISS
Im Prinzip ganz einfach
created by
Wegen Dir
created by
I. Säule
created by
public class Employee {
public String Forename {get; set;}
public String Lastname {get; set;}
public GenderTypes Sex {get; set;}
…
}
created by
public class Employee {
public String Forename {get; set;}
public String Lastname {get; set;}
public GenderTypes Sex {get; set;}
…
}
created by
public class Employee {
public String Forename {get; set;}
public String Lastname {get; set;}
public GenderTypes Sex {get; set;}
…
}
created by
public double GetCustomerDiscount
(int customerID, bool isPremium) {
if(isPremium) {
…
}
…
}
created by
public double GetCustomerDiscount
(int customerID, bool isPremium) {
if(isPremium) {
…
}
…
}
created by
public double GetCustomerDiscount
(int customerID, bool isPremium) {
if(isPremium) {
…
}
…
}
created by
public class GenericQueryHandler
: IRequest<T1, IResponse<T2 >>
{
public T1 Query{ get; }
public IResponse<T2> Execute(T1){…}
}
created by
public class GenericQueryHandler
: IRequest<T1, IResponse<T2 >>
{
public T1 Query{ get; }
public IResponse<T2> Execute(T1){…}
}
created by
created by
II. Säule
created by
public class EmployeeDTO : IEmployee {
public String Forename {get; set;}
public String Lastname {get; set;}
…
}
created by
public class EmployeeDTO : IEmployee {
public String Forename {get; set;}
public String Lastname {get; set;}
…
}
created by
public class EmployeeDTO : IEmployee {
public String Forename {get; set;}
public String Lastname {get; set;}
…
}
created by
public void Main () {
var strBaseUrl = „http: //127.0.0.1/api/v1“;
var intMaxCount = 10;
for (int i=0;i <=intMaxCount;i ++) {
…
}
…
}
created by
public void Main () {
var strBaseUrl = „http: //127.0.0.1/api/v1“;
var intMaxCount = 10;
for (int i=0;i <=intMaxCount;i ++) {
…
}
…
}
created by
public void Main () {
var strBaseUrl = „http: //127.0.0.1/api/v1“;
var intMaxCount = 10;
for (int i=0;i <=intMaxCount;i ++) {
…
}
…
}
created by
created by
created by
III. Säule
created by
created by
created by
var xmlStructure =
XDocument.Parse(_xmlString);
var orderNumber =
xmlStructure.Element(„OrderNumber“).Value;
created byhttps://flic.kr/p/arUv5U - Eye Contact - Stranger 08 - Traveller_40
https://flic.kr/p/arUv5U
created by
Schizophrene Objekte
Captain Obvious
Tradition
created by
KISS
created by
KISS
=
Einfachheit & Fokus
created by
created by
Besserer
CODE
created by
1. FizzBuzz mit TDD
Gegeben:
Zahlenreihe von 1 bis 100
Anforderung 1:
Alle Zahlen, die durch 3 teilbar sind,
sollen als `Fizz` dargestellt werden
created by
1. FizzBuzz mit TDD
Test:
const number = 3;
MapToFizzBuzzValue(number)
.Should()
.Be(`Fizz`)
created by
1. FizzBuzz mit TDD
Lösung:
public String MapToFizzBuzzValue(int number)
{
return `Fizz`;
}
created by
1. FizzBuzz mit TDD
Anforderung 2:
Alle Zahlen, die durch 5 teilbar sind,
sollen als `Buzz` dargestellt werden
created by
1. FizzBuzz mit TDD
Test:
const number = 5;
MapToFizzBuzzValue(number)
.Should()
.Be(`Buzz`)
created by
1. FizzBuzz mit TDD
Lösung:
public string MapToFizzBuzzValue(int number)
{
if(number % 5 == 0) return `Buzz`;
return `Fizz`;
}
created by
1. FizzBuzz mit TDD
Anforderung 3:
Alle Zahlen, die durch 3 und 5 teilbar
sind, sollen als `FizzBuzz`
dargestellt werden
created by
1. FizzBuzz mit TDD
Test:
const number = 15;
MapToFizzBuzzValue(number)
.Should()
.Be(`FizzBuzz`)
created by
1. FizzBuzz mit TDD
Lösung:
public String MapToFizzBuzzValue(int number)
{
if(number % 15 == 0) return `FizzBuzz`;
if(number % 5 == 0) return `Buzz`;
return `Fizz`;
}
created by
1. FizzBuzz mit TDD
Anforderung 4:
Alle anderen Zahlen behalten ihren
Wert
created by
1. FizzBuzz mit TDD
Test:
const number = 23;
MapToFizzBuzzValue(number)
.Should()
.Be(`23`)
created by
1. FizzBuzz mit TDD
Lösung:
public String MapToFizzBuzzValue(int number)
{
if(number % 15 == 0) return `FizzBuzz`;
if(number % 3 == 0) return `Fizz`;
if(number % 5 == 0) return `Buzz`;
return number.ToString();
}
created by
2. Refactoring
Anforderung:
Es sollen Dateien aus einem FTP
Verzeichnis gelesen und verarbeitet
werden. In den Dateien sind
vermietbare Einheiten enthalten, die
je nach Status (Neu, Gelöscht,
Geändert) an das Vermietungsbüro
gemeldet werden sollen.
created by
2. Refactoring
Lösung: Im Prozess denken
var ftpFolder = new FtpFolder ();



GetFilesFrom (ftpFolder)

.ExtractUnits ()

.SortByState ()

.PublishTo (target);

created by
class MainClass

{

public static void Main (string[] args)
{
var ftpFolder = new FtpFolder ();



GetFilesFrom (ftpFolder)

.ExtractUnits ()
.SortByState ()
.PublishTo (target);
}
static FileList GetFilesFrom (FtpFolder ftpFolder)

{

return ftpFolder.FetchFiles();
}
}
class FtpFolder { … }



class FileList

{
private List<String> _files;
…


public Units ExtractUnits ()

{

return new Units ();
}

}



class Units

{
private List<Unit> _units;
…


public Units SortByState () { … }



public void PublishTo (ITarget target) { … }

}

• Fluent Interface
• Simple Types
• Single Responsibility
• Domain Specific
Terms
Lösung: Refactoring
created by
Hier kam das
Resümee
created by
merci
thank you
danke
dekuji
tak dank je we
xièxie
kiitos
toda
köszönöm
go raibh maith agat
grazie
dziekuje
multumesc
spacibo
hvala
gracias
tack
mauruuru
tesekkur ederim
diakuiu
a dank

More Related Content

Similar to KISS - im Prinzip ganz einfach

Bdd: Tdd and beyond the infinite
Bdd: Tdd and beyond the infiniteBdd: Tdd and beyond the infinite
Bdd: Tdd and beyond the infiniteGiordano Scalzo
 
Introduction to F# for the C# developer
Introduction to F# for the C# developerIntroduction to F# for the C# developer
Introduction to F# for the C# developernjpst8
 
Better Software: introduction to good code
Better Software: introduction to good codeBetter Software: introduction to good code
Better Software: introduction to good codeGiordano Scalzo
 
FizzBuzz Guided Kata
FizzBuzz Guided KataFizzBuzz Guided Kata
FizzBuzz Guided KataMike Clement
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android3camp
 
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo....NET Conf UY
 
can do this in java please thanks in advance The code that y.pdf
can do this in java please thanks in advance The code that y.pdfcan do this in java please thanks in advance The code that y.pdf
can do this in java please thanks in advance The code that y.pdfakshpatil4
 
Inheritance compiler support
Inheritance compiler supportInheritance compiler support
Inheritance compiler supportSyed Zaid Irshad
 
FITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an endFITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an endThibault Imbert
 
Technology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault ImbertTechnology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault ImbertFITC
 

Similar to KISS - im Prinzip ganz einfach (11)

Bdd: Tdd and beyond the infinite
Bdd: Tdd and beyond the infiniteBdd: Tdd and beyond the infinite
Bdd: Tdd and beyond the infinite
 
Introduction to F# for the C# developer
Introduction to F# for the C# developerIntroduction to F# for the C# developer
Introduction to F# for the C# developer
 
Better Software: introduction to good code
Better Software: introduction to good codeBetter Software: introduction to good code
Better Software: introduction to good code
 
FizzBuzz Guided Kata
FizzBuzz Guided KataFizzBuzz Guided Kata
FizzBuzz Guided Kata
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android
 
Get Kata
Get KataGet Kata
Get Kata
 
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...
Code Smells y Refactoring o haciendo que nuestro codigo huela (y se vea) mejo...
 
can do this in java please thanks in advance The code that y.pdf
can do this in java please thanks in advance The code that y.pdfcan do this in java please thanks in advance The code that y.pdf
can do this in java please thanks in advance The code that y.pdf
 
Inheritance compiler support
Inheritance compiler supportInheritance compiler support
Inheritance compiler support
 
FITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an endFITC '14 Toronto - Technology, a means to an end
FITC '14 Toronto - Technology, a means to an end
 
Technology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault ImbertTechnology: A Means to an End with Thibault Imbert
Technology: A Means to an End with Thibault Imbert
 

Recently uploaded

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

KISS - im Prinzip ganz einfach