Enviar pesquisa
Carregar
Fail Fast. Into User's Face.
•
0 gostou
•
1,606 visualizações
Y
Yegor Bugayenko
Seguir
GeeCON 2016; Krakow, Poland; 13 May 2016
Leia menos
Leia mais
Software
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 10
Baixar agora
Baixar para ler offline
Recomendados
Need It Robust? Make It Fragile!
Need It Robust? Make It Fragile!
Yegor Bugayenko
Data File Handiling File POINTERS IN C++
Data File Handiling File POINTERS IN C++
subham sahu
Inheritance
Inheritance
آصف الصيفي
working with files
working with files
SangeethaSasi1
ATS Internals
ATS Internals
Chao Xu
Ajax - a quick introduction
Ajax - a quick introduction
Stefan Pettersson
When RegEx is not enough
When RegEx is not enough
Nati Cohen
Naughty And Nice Bash Features
Naughty And Nice Bash Features
Nati Cohen
Mais conteúdo relacionado
Mais procurados
Clone database using_active_duplicate
Clone database using_active_duplicate
Viaggio Italia
Hands On Spring Data
Hands On Spring Data
Eric Bottard
Commit2015 kharchenko - python generators - ext
Commit2015 kharchenko - python generators - ext
Maxym Kharchenko
2015 555 kharchenko_ppt
2015 555 kharchenko_ppt
Maxym Kharchenko
Matthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 Development
SharePoint Saturday NY
Sensu wrapper-sensu-summit
Sensu wrapper-sensu-summit
Lee Briggs
JSLab. Домников Виталий. "ES6 генераторы и Koa.js"
JSLab. Домников Виталий. "ES6 генераторы и Koa.js"
GeeksLab Odessa
Sample file processing
Sample file processing
Issay Meii
What's new in PHP 5.5
What's new in PHP 5.5
Tom Corrigan
Introducing PHP Latest Updates
Introducing PHP Latest Updates
Iftekhar Eather
Making Mongo realtime - oplog tailing in Meteor
Making Mongo realtime - oplog tailing in Meteor
yaliceme
General Functions
General Functions
BabuDevanandam
Jakarta Commons - Don't re-invent the wheel
Jakarta Commons - Don't re-invent the wheel
tcurdt
Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2
Martijn Verburg
Asynchronen Code testen
Asynchronen Code testen
ndrssmn
No dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real world
tcurdt
Program to-copy-contents-of-one-file-to-another
Program to-copy-contents-of-one-file-to-another
blacktricker
Sequential Async Call
Sequential Async Call
Sirius Fang
Java 7 new features
Java 7 new features
Aliaksandr Kazlou
Deep Dumpster Diving
Deep Dumpster Diving
RonnBlack
Mais procurados
(20)
Clone database using_active_duplicate
Clone database using_active_duplicate
Hands On Spring Data
Hands On Spring Data
Commit2015 kharchenko - python generators - ext
Commit2015 kharchenko - python generators - ext
2015 555 kharchenko_ppt
2015 555 kharchenko_ppt
Matthew Vignau: Memory Management in SharePoint 2007 Development
Matthew Vignau: Memory Management in SharePoint 2007 Development
Sensu wrapper-sensu-summit
Sensu wrapper-sensu-summit
JSLab. Домников Виталий. "ES6 генераторы и Koa.js"
JSLab. Домников Виталий. "ES6 генераторы и Koa.js"
Sample file processing
Sample file processing
What's new in PHP 5.5
What's new in PHP 5.5
Introducing PHP Latest Updates
Introducing PHP Latest Updates
Making Mongo realtime - oplog tailing in Meteor
Making Mongo realtime - oplog tailing in Meteor
General Functions
General Functions
Jakarta Commons - Don't re-invent the wheel
Jakarta Commons - Don't re-invent the wheel
Java 7 - short intro to NIO.2
Java 7 - short intro to NIO.2
Asynchronen Code testen
Asynchronen Code testen
No dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real world
Program to-copy-contents-of-one-file-to-another
Program to-copy-contents-of-one-file-to-another
Sequential Async Call
Sequential Async Call
Java 7 new features
Java 7 new features
Deep Dumpster Diving
Deep Dumpster Diving
Destaque
How Do You Know When Your Product is Ready to be Shipped?
How Do You Know When Your Product is Ready to be Shipped?
Yegor Bugayenko
How Much Immutability Is Enough?
How Much Immutability Is Enough?
Yegor Bugayenko
OOP Is Dead? Not Yet!
OOP Is Dead? Not Yet!
Yegor Bugayenko
Who Manages Who?
Who Manages Who?
Yegor Bugayenko
Meetings Or Discipline
Meetings Or Discipline
Yegor Bugayenko
Continuous Integration is Dead
Continuous Integration is Dead
Yegor Bugayenko
Practical Example of AOP with AspectJ
Practical Example of AOP with AspectJ
Yegor Bugayenko
Object Oriented Lies
Object Oriented Lies
Yegor Bugayenko
How Anemic Objects Kill OOP
How Anemic Objects Kill OOP
Yegor Bugayenko
Java vs OOP
Java vs OOP
Yegor Bugayenko
Problems With Chat Bots
Problems With Chat Bots
Yegor Bugayenko
Who Is a Software Architect?
Who Is a Software Architect?
Yegor Bugayenko
Built-in Fake Objects
Built-in Fake Objects
Yegor Bugayenko
Management without managers
Management without managers
Yegor Bugayenko
How Immutability Helps in OOP
How Immutability Helps in OOP
Yegor Bugayenko
ORM is a perfect anti-pattern
ORM is a perfect anti-pattern
Yegor Bugayenko
ORM is offensive
ORM is offensive
Yegor Bugayenko
RABIES IN TUNISIA:Evolution and result of « National Program of Rabies Control »
RABIES IN TUNISIA:Evolution and result of « National Program of Rabies Control »
Pasteur_Tunis
Chat Bot Architecture
Chat Bot Architecture
Yegor Bugayenko
Destaque
(19)
How Do You Know When Your Product is Ready to be Shipped?
How Do You Know When Your Product is Ready to be Shipped?
How Much Immutability Is Enough?
How Much Immutability Is Enough?
OOP Is Dead? Not Yet!
OOP Is Dead? Not Yet!
Who Manages Who?
Who Manages Who?
Meetings Or Discipline
Meetings Or Discipline
Continuous Integration is Dead
Continuous Integration is Dead
Practical Example of AOP with AspectJ
Practical Example of AOP with AspectJ
Object Oriented Lies
Object Oriented Lies
How Anemic Objects Kill OOP
How Anemic Objects Kill OOP
Java vs OOP
Java vs OOP
Problems With Chat Bots
Problems With Chat Bots
Who Is a Software Architect?
Who Is a Software Architect?
Built-in Fake Objects
Built-in Fake Objects
Management without managers
Management without managers
How Immutability Helps in OOP
How Immutability Helps in OOP
ORM is a perfect anti-pattern
ORM is a perfect anti-pattern
ORM is offensive
ORM is offensive
RABIES IN TUNISIA:Evolution and result of « National Program of Rabies Control »
RABIES IN TUNISIA:Evolution and result of « National Program of Rabies Control »
Chat Bot Architecture
Chat Bot Architecture
Semelhante a Fail Fast. Into User's Face.
A topology of memory leaks on the JVM
A topology of memory leaks on the JVM
Rafael Winterhalter
Java 7
Java 7
Bipul Sinha
Java 104
Java 104
Manuela Grindei
JavaScript - Like a Box of Chocolates
JavaScript - Like a Box of Chocolates
Robert Nyman
5. Ввод-вывод, доступ к файловой системе
5. Ввод-вывод, доступ к файловой системе
DEVTYPE
DIWE - File handling with PHP
DIWE - File handling with PHP
Rasan Samarasinghe
Exceptions and errors in Java
Exceptions and errors in Java
Manuela Grindei
Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015
Lukas Ruebbelke
Ch3(working with file)
Ch3(working with file)
Chhom Karath
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Migrating to JUnit 5
Migrating to JUnit 5
Rafael Winterhalter
스위프트를 여행하는 히치하이커를 위한 스타일 안내
스위프트를 여행하는 히치하이커를 위한 스타일 안내
Jung Kim
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch
Semelhante a Fail Fast. Into User's Face.
(13)
A topology of memory leaks on the JVM
A topology of memory leaks on the JVM
Java 7
Java 7
Java 104
Java 104
JavaScript - Like a Box of Chocolates
JavaScript - Like a Box of Chocolates
5. Ввод-вывод, доступ к файловой системе
5. Ввод-вывод, доступ к файловой системе
DIWE - File handling with PHP
DIWE - File handling with PHP
Exceptions and errors in Java
Exceptions and errors in Java
Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015
Ch3(working with file)
Ch3(working with file)
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Migrating to JUnit 5
Migrating to JUnit 5
스위프트를 여행하는 히치하이커를 위한 스타일 안내
스위프트를 여행하는 히치하이커를 위한 스타일 안내
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
Mais de Yegor Bugayenko
Can Distributed Teams Deliver Quality?
Can Distributed Teams Deliver Quality?
Yegor Bugayenko
Are You Sure You Are Not a Micromanager?
Are You Sure You Are Not a Micromanager?
Yegor Bugayenko
On Requirements Management (Demotivate Them Right)
On Requirements Management (Demotivate Them Right)
Yegor Bugayenko
My Experience of 1000 Interviews
My Experience of 1000 Interviews
Yegor Bugayenko
Are you sure you are not a micromanager?
Are you sure you are not a micromanager?
Yegor Bugayenko
Quality Assurance vs. Testing
Quality Assurance vs. Testing
Yegor Bugayenko
Is Java Getting Better?
Is Java Getting Better?
Yegor Bugayenko
Typical Pitfalls in Testing
Typical Pitfalls in Testing
Yegor Bugayenko
Software Testing Pitfalls
Software Testing Pitfalls
Yegor Bugayenko
Five Trends We Are Afraid Of
Five Trends We Are Afraid Of
Yegor Bugayenko
Experts vs Expertise
Experts vs Expertise
Yegor Bugayenko
Who Cares About Quality?
Who Cares About Quality?
Yegor Bugayenko
Quantity vs. Quality
Quantity vs. Quality
Yegor Bugayenko
Experts vs Expertise
Experts vs Expertise
Yegor Bugayenko
Zold: a cryptocurrency without Blockchain
Zold: a cryptocurrency without Blockchain
Yegor Bugayenko
Life Without Blockchain
Life Without Blockchain
Yegor Bugayenko
How to Cut Corners and Stay Cool
How to Cut Corners and Stay Cool
Yegor Bugayenko
Math or Love?
Math or Love?
Yegor Bugayenko
How much do you cost?
How much do you cost?
Yegor Bugayenko
Java Annotations Are a Bad Idea
Java Annotations Are a Bad Idea
Yegor Bugayenko
Mais de Yegor Bugayenko
(20)
Can Distributed Teams Deliver Quality?
Can Distributed Teams Deliver Quality?
Are You Sure You Are Not a Micromanager?
Are You Sure You Are Not a Micromanager?
On Requirements Management (Demotivate Them Right)
On Requirements Management (Demotivate Them Right)
My Experience of 1000 Interviews
My Experience of 1000 Interviews
Are you sure you are not a micromanager?
Are you sure you are not a micromanager?
Quality Assurance vs. Testing
Quality Assurance vs. Testing
Is Java Getting Better?
Is Java Getting Better?
Typical Pitfalls in Testing
Typical Pitfalls in Testing
Software Testing Pitfalls
Software Testing Pitfalls
Five Trends We Are Afraid Of
Five Trends We Are Afraid Of
Experts vs Expertise
Experts vs Expertise
Who Cares About Quality?
Who Cares About Quality?
Quantity vs. Quality
Quantity vs. Quality
Experts vs Expertise
Experts vs Expertise
Zold: a cryptocurrency without Blockchain
Zold: a cryptocurrency without Blockchain
Life Without Blockchain
Life Without Blockchain
How to Cut Corners and Stay Cool
How to Cut Corners and Stay Cool
Math or Love?
Math or Love?
How much do you cost?
How much do you cost?
Java Annotations Are a Bad Idea
Java Annotations Are a Bad Idea
Último
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
Autus Cyber Tech
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
OnePlan Solutions
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
elliciumsolutionspun
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
Ivo Andreev
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
Shane Coughlan
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
VICTOR MAESTRE RAMIREZ
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
Raymond Okyere-Forson
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
Nirav Modi
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Jaydeep Chhasatia
online pdf editor software solutions.pdf
online pdf editor software solutions.pdf
Meon Technology
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
Brain Inventory
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
VICTOR MAESTRE RAMIREZ
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기
Chiwon Song
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9
Jürgen Gutsch
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
AmeliaSmith90
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
wajrcs
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Jaydeep Chhasatia
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
Neo4j
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
Neo4j
Último
(20)
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
online pdf editor software solutions.pdf
online pdf editor software solutions.pdf
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
20240330_고급진 코드를 위한 exception 다루기
20240330_고급진 코드를 위한 exception 다루기
About .NET 8 and a first glimpse into .NET9
About .NET 8 and a first glimpse into .NET9
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Mastering Kubernetes - Basics and Advanced Concepts using Example Project
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
Fail Fast. Into User's Face.
1.
/10@yegor256 1 Fail Fast. Into
User’s Face. Yegor Bugayenko
2.
/10@yegor256 2 be arrogant
3.
/10@yegor256 3 int len(File
f) { if (f == null) { return -1; } } int len(File f) { if (f == null) { throw new Exception( “file can’t be NULL” ); } }
4.
/10@yegor256 4 try { stream.read(); }
catch (IOException ex) { ex.printStackTrace(); } try { stream.read(); } catch (IOException ex) { throw new RuntimeException( “failed to read stream”, ex ); }
5.
/10@yegor256 5 void push(int
x) { if (pos < array.length) { array[pos++] = x; } } void push(int x) { if (pos >= array.length) { throw new Exception( “array is full” ); } array[pos++] = x; }
6.
/10@yegor256 6 @Override void save()
{ // not implemented yet } @Override void save() { throw new Exception( “not implemented yet” ); }
7.
/10@yegor256 7 file.delete(); if (!file.delete())
{ throw new Exception( “failed to delete file” ); }
8.
/10@yegor256 8 User find(int
id) { if (/* not found */) { return null; } // continue... } User find(int id) { if (/* not found */) { throw new Exception( “user not found” ); } // continue... }
9.
/10@yegor256 9 fix report use deploy
10.
/10@yegor256 10 www.yegor256.com
Baixar agora