JaroslavTulach at 16:37, 5 May 2017 - 2017-05-05 16:37:16

←Older revision Revision as of 16:37, 5 May 2017
Line 8: Line 8:
Anyway, if you have an [[API]] that you'd like me to improve, let me know. If I see real interest in proper [[API]] design my disgust and [[MidlifeCrisis]] may go away...
Anyway, if you have an [[API]] that you'd like me to improve, let me know. If I see real interest in proper [[API]] design my disgust and [[MidlifeCrisis]] may go away...
 +
 +
{{#ev:youtube|U8b88US-6ts}}
 +
 +
 +
[[Category:Videos]]

JaroslavTulach at 16:09, 5 May 2017 - 2017-05-05 16:09:48

←Older revision Revision as of 16:09, 5 May 2017
Line 1: Line 1:
I have to admit I am currently at a [[MidlifeCrisis|midlife crisis]]. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
I have to admit I am currently at a [[MidlifeCrisis|midlife crisis]]. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
-
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have an [[evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.
+
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your proposed change [[BackwardCompatible]]? Do you have an [[evolution]] story for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.
[[I]] got so disgust that I feel sick, physically sick, when I have to think about [[API]] design. Last weekend [[Toni]] asked me to review an [[API]] he is creating and showed me what he has. [[I]] starred at him, then at the code and at him, etc. for three minutes before I could say a word. Then I had to apologize and describe my current [[MidlifeCrisis]].
[[I]] got so disgust that I feel sick, physically sick, when I have to think about [[API]] design. Last weekend [[Toni]] asked me to review an [[API]] he is creating and showed me what he has. [[I]] starred at him, then at the code and at him, etc. for three minutes before I could say a word. Then I had to apologize and describe my current [[MidlifeCrisis]].

JaroslavTulach at 16:08, 5 May 2017 - 2017-05-05 16:08:43

←Older revision Revision as of 16:08, 5 May 2017
Line 1: Line 1:
-
I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
+
I have to admit I am currently at a [[MidlifeCrisis|midlife crisis]]. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have an [[evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have an [[evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.

JaroslavTulach at 16:06, 5 May 2017 - 2017-05-05 16:06:46

←Older revision Revision as of 16:06, 5 May 2017
Line 1: Line 1:
I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...
-
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have [evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.
+
Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have an [[evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.
[[I]] got so disgust that I feel sick, physically sick, when I have to think about [[API]] design. Last weekend [[Toni]] asked me to review an [[API]] he is creating and showed me what he has. [[I]] starred at him, then at the code and at him, etc. for three minutes before I could say a word. Then I had to apologize and describe my current [[MidlifeCrisis]].
[[I]] got so disgust that I feel sick, physically sick, when I have to think about [[API]] design. Last weekend [[Toni]] asked me to review an [[API]] he is creating and showed me what he has. [[I]] starred at him, then at the code and at him, etc. for three minutes before I could say a word. Then I had to apologize and describe my current [[MidlifeCrisis]].

JaroslavTulach: New page: I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote TheAPIBook, I tried to propagate the principles of... - 2017-05-05 16:06:04

New page: I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote TheAPIBook, I tried to propagate the principles of...

New page

I have to admit I am currently at a midlife crisis. I dedicated my last twenty years to promotion of a proper API design. I wrote [[TheAPIBook]], [[I]] tried to propagate the principles of [[good]] [[APIDesign]] and [[modularity]] wherever [[I]] could. However [[I]] am tired...

Because it is always the same. Why do [[I]] have ask: where is your [[Usecase]]? What this method is [[good]] for? What do you actually want to achieve with this method/class/type? Have you considered the difference between [[APIvsSPI]] aspects of your design? Do you have a unit test? Is your design change [[BackwardCompatible]]? Do you have [evolution]] storoy for your design? Is your solution optimized for your comfort or comfort of users of your [[API]]? And so on and so on... People should read [[TheAPIBook]] before attempting to design an [[API]], but they don't and they make the same mistakes again and again.

[[I]] got so disgust that I feel sick, physically sick, when I have to think about [[API]] design. Last weekend [[Toni]] asked me to review an [[API]] he is creating and showed me what he has. [[I]] starred at him, then at the code and at him, etc. for three minutes before I could say a word. Then I had to apologize and describe my current [[MidlifeCrisis]].

When [[I]] look at an [[API]] these days, all [[I]] see is the wasted potential the [[API]] could have, but it doesn't and never will, because the amount of investment [[I]] would have to do to educate the [[API]] stakeholder is so huge, that [[I]] just don't want to make it.

Anyway, if you have an [[API]] that you'd like me to improve, let me know. If I see real interest in proper [[API]] design my disgust and [[MidlifeCrisis]] may go away...