This document discusses the challenges of achieving simplicity in software design. It presents four principles of simple design: all tests pass, intent is clear, lack of excess, and minimal classes and methods. However, simplicity is not easy and there are many pitfalls. True simplicity requires an evolutionary approach, removing excess, communicating intent clearly, and focusing on structure and necessary abstractions over implementation details. Tests, minimal coupling, and coherence are also important to achieve simplicity without being stupidly simple.
14. public static List<T> QuickSort<T>(List<T> values)
where T : IComparable
{
if (values.Count == 0)
return new List<T>();
T firstElement = values[0];
var smallerElements = new List<T>();
var largerElements = new List<T>();
for (int i = 1; i < values.Count; i++)
{
var elem = values[i];
if (elem.CompareTo(firstElement) < 0)
smallerElements.Add(elem);
else
largerElements.Add(elem);
}
var result = new List<T>();
result.AddRange(QuickSort(smallerElements.ToList()));
result.Add(firstElement);
result.AddRange(QuickSort(largerElements.ToList()));
return result;
}
Source: http://fsharpforfunandprofit.com/posts/fvsc-quicksort/
15. let rec quicksort list =
match list with
| [] ->
[]
| firstElem::otherElements ->
let smallerElements =
otherElements
|> List.filter (fun e -> e < firstElem)
|> quicksort
let largerElements =
otherElements
|> List.filter (fun e -> e >= firstElem)
|> quicksort
List.concat [smallerElements; [firstElem]; largerElements]
Source: http://fsharpforfunandprofit.com/posts/fvsc-quicksort/
80. When 5 things need to change for
the same reason, Shalloway will find
at most 4
PRAWO SHALLOWAYA
81. When 5 things need to change for
the same reason, Shalloway will find
at most 4
Kiedy koncepcyjnie tę samą zmianę
trzeba wprowadzić w 4 miejscach,
Shalloway znajdzie maksymalnie 3.
Title Page Option 3 Solid-colored Background
Date/location information is Arial16pt.
Headline copy is Arial Bold 54pt in all caps. Use Paragraph Line Spacing Multiple of 0.8 with 0pt spacing before and after.
Presenter information is Arial Bold 18pt in all caps. The Paragraph Line Spacing is Exactly 0.9pt with 0pt spacing before and after.
Background can be changed to any color is white.
CHRISTOPHER S PENN: SIMPLE IS NOT EASY
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
Presumptive features
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
Harder to debug, test etc.
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
For two-line slide titles, use Paragraph Line Spacing Multiple of 0.8 with 0pt spacing before and after.
For two-line slide titles, use Paragraph Line Spacing Multiple of 0.8 with 0pt spacing before and after.
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
FROM CHRISTOPHER S PENN: SIMPLE IS NOT EASY
DIRECT ACCESS TO EVERYTHING IF THIS IS A SINGLE METHOD
DIRECT ACCESS TO EVERYTHING IF THIS IS A SINGLE METHOD
DIRECT ACCESS TO EVERYTHING IF THIS IS A SINGLE METHOD
DIRECT ACCESS TO EVERYTHING IF THIS IS A SINGLE METHOD
DIRECT ACCESS TO EVERYTHING IF THIS IS A SINGLE METHOD
Wskazówkę daje nam Prawo Shallowaya – te typy nadmiarowości, do których to prawo ma zastosowanie to to, którego chcemy uniknąć, czyli...
Wskazówkę daje nam Prawo Shallowaya – te typy nadmiarowości, do których to prawo ma zastosowanie to to, którego chcemy uniknąć, czyli...
CHRISTOPHER S PENN: SIMPLE IS NOT EASY
CHRISTOPHER S PENN: SIMPLE IS NOT EASY
ZOBACZCIE DEFINICJĘ SYSTEMU NA WIKIPEDII
HARD TO SEPARATE – STATIC, SINGLETON
ACCIDENTAL – GLOBAL FLAGS
HARD TO SEPARATE – STATIC, SINGLETON
ACCIDENTAL – GLOBAL FLAGS
HARD TO SEPARATE – STATIC, SINGLETON
ACCIDENTAL – GLOBAL FLAGS
HARD TO SEPARATE – STATIC, SINGLETON
ACCIDENTAL – GLOBAL FLAGS
Thank you or Q&A wrap up slide example. Font arial 80pt.
Legal disclaimer bottom of page arial 8pt font with I Protect
Thank you or Q&A wrap up slide example. Font arial 80pt.
Legal disclaimer bottom of page arial 8pt font with I Protect