WELCOME, GUEST

Best Practice Programming
Download Steven's Training Presentations

 

Best Practices for PL/SQL Development in APEX

Download Now! (763KB, Updated: 10/17/2011)
 

Application Express generates applications built on the PL/SQL language. APEX developers write additional PL/SQL code to handle complex requirements. There is always a tendency when writing code within a UI-driven environment to treat that code rather casually; after all, it is not the main part of the application. That is a big mistake because this custom code must be maintained and enhanced. If you don't write it well, that maintenance becomes a nightmare. In this session, Steven Feuerstein provides recommendations on establishing a solid foundation for custom PL/SQL development in APEX, covering error management, tracing, and key performance techniques.

 
 

Golden Rules for Developers

Download Now! (521KB, Updated: 6/10/2010)
 

We all want to write better code: fewer bugs, faster algorithms, readable blocks. Yet again and again our best intentions are thwarted by...all sorts of people and things: ourselves, our managers, our users, crazy deadlines, lack of tools, and more. We have, unfortunately, control over only so much of our professional lives. We generally can't do much about our managers or our users. We usually can't change the deadlines. So we have to look at what each of us can do individually to move to the next level of software developer. This session offers a set of "golden rules" that we all can agree on and will definitely improve our code - and then offers some practical advice to help you follow them.

 
 

Guaranteeing Application Success

Download Now! (1.2MB (zipped), Updated: 3/25/2010)

 
We all want to build successful applications and be successful ourselves. But what does this mean and how do we get there?
 
In this session, Steven Feuerstein, one of the world's leading experts on the Oracle PL/SQL language, offers key criteria for application success. He will highlight the key role that automated testing should and can play in our development lives, and how to best apply and validate coding standards to ensure maintainable code.
 

After watching this seminar, you will have a much better understanding of how to ensure that your code is correct, maintainable and efficient – key ingredients to a successful application

 
 

Automated Testing Options for Oracle PL/SQL

Download Now! (1.2MB (zipped), Updated: 3/25/2010)
 

We all want to build successful applications and be successful ourselves. But what does this mean and how do we get there?

In this session, Steven Feuerstein, one of the world's leading experts on the Oracle PL/SQL language, offers key criteria for application success. He will highlight the key role that automated testing should and can play in our development lives, and how to best apply and validate coding standards to ensure maintainable code.
 
After watching this seminar, you will have a much better understanding of how to ensure that your code is correct, maintainable and efficient – key ingredients to a successful application.
 
 

High Quality Programming

Download Now! (1.7 MB, Updated: February 8, 2008)

Over its lifetime, PL/SQL has grown increasingly robust and complex.  Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs.  And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features. 

Steven Feuerstein, one of the world's leading experts in the Oracle PL/SQL language, has studied PL/SQL for over 12 years and has developed a deep understanding of how best to build applications with this language.
 

The High Quality Programming seminar will focus on critical areas of development:

  • Writing SQL in PL/SQL: SQL statements lie at the heart of any PL/SQL application and PL/SQL makes it incredibly easy to write that SQL. This means that most of us take SQL totally for granted, which is a big mistake, since SQL statements are the slowest elements of our code and often need changing.  Steven will show you how to take advantage of best features of PL/SQL for writing SQL and also offer best practices for writing SQL statements that can be more easily maintained and optimized. 
  • Optimizing performance of PL/SQL applications: beyond SQL, there are many concerns and ways to improve the performance of one's PL/SQL code.  From new features to the careful application of long-standing features, Steven will show you how to analyze code performance and, at least in some cases, improve it by one or more orders of magnitude. 
  • Unit testing PL/SQL programs: let's face it, few of us test our code sufficiently.  Who has the time?  And how are you supposed to write that code, anyway?  In this section of the course, Steven offers "six simple steps to unit testing happiness" that will utterly transform the quality and quantity of your PL/SQL testing.
     
  • Building modular, reusable code: just say "no"....to spaghetti code that is impossible to read, maintain, or enhance.  In this section, Steven will show you how to take advantage of packages, local subprogram units, cursor variables, autonomous transactions, and more to craft small, reusable units of code. 
  • Error management: every well-crafted application follows a standard, consistent process for handling, raising and reporting errors.  PL/SQL offers a powerful, flexible exception handling architecture, but it has its weaknesses.  Steven will show you how to compensate for those weaknesses, take advantage of the latest error management features, and build a reusable package to log and raise exceptions.

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.

 
 

Practical Best PL/SQL Programming

Download Now! (2.3 MB, Updated: September 17, 2007)
 

We all hear about (and some of us write about) "best practices". But sometimes all that advice can be quite overwhelming and not very practical. This two hour seminar offers advice for writing the best PL/SQL of your life which I believe is thoroughly practical and instantly applicable to your professional lives as PL/SQL developers 

"Practical Best" starts of by recommending a high-level workflow for building applications in three phases: prepare, construct and validate. Within preparation, I focus on how you should establish a solid foundation for development by standardizing (set the rules), systematize (follow the rules with formal processes), and automate (implement the rules automatically as much as possible). The main focus in this section is on how to best write SQL inside PL/SQL. And here I do my first PL/SQL magic trick: I convince you that SQL IS BAD!

From there, we shift focus to single program construction. I go into a detailed workflow at this level, emphasizing preparation, review, optimization and testing. And then I spend LOTS of time talking about how to improve the way we test our code, which brings me to my second PL/SQL magic trick: I will convince you that TESTING IS (CAN BE) FUN!
 

And throughout the seminar, I provide or point you to scripts, utilities and tools to help you quickly apply my advice. 

 
 

The Best of Oracle PL/SQL with Oracle 11g New Features

Download Now! (1 MB (zipped), Updated: 12/12/2011)
 

Over its lifetime, PL/SQL has grown increasingly robust and complex. Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs. And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features.
 
This seminar teaches attendees about the most important features of the PL/SQL language, focusing on the major advances in Oracle Database 10g and the new features added to PL/SQL in Oracle Database 11g. Steven then takes you beyond the basics to show you how to apply these features in the context of best practices, so that you write highly optimized, easily maintained and rapidly enhanced applications.
 
Topics covered in this course include:
  • The fantastic Oracle11g Function Result Cache
  • All about collections: from the basics to the complex world of nested collections
  • Native dynamic SQL: fastest, easiest path to dynamic SQL in PL/SQL
  • The power and flexibility of table functions
  • Maximum readability through extreme modularization

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.
 

 
 

Best Practice PL/SQL

Full Day Seminar - Download Now! (.75 MB, Updated: May 04, 2006)

Two Hour Presentation - Download Now! (1.1MB, uploaded on April 5, 2007)
 

Designed especially for Oracle Scandinavia, Best Practice PL/SQL with Steven Feuerstein is a one-day whirlwind guide to the best that PL/SQL has to offer and the best practices for writing faster, more modular and eminently maintainable applications. 
 

Over its lifetime, PL/SQL has grown increasingly robust and complex.  Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs.  And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features. 
 

Steven Feuerstein, one of the world's leading experts in the Oracle PL/SQL language, has studied PL/SQL for over 12 years and has developed a deep understanding of how best to build applications with this language.  He will share what he has learned with Oracle technologists in Scandinavia in May 2006.
 

The Best Practice PL/SQL one-day seminar will focus on N critical areas of development:

  • Writing SQL in PL/SQL: SQL statements lie at the heart of any PL/SQL application and PL/SQL makes it incredibly easy to write that SQL. This means that most of us take SQL totally for granted, which is a big mistake, since SQL statements are the slowest elements of our code and often need changing.  Steven will show you how to take advantage of best features of PL/SQL for writing SQL and also offer best practices for writing SQL statements that can be more easily maintained and optimized.
     
  • Optimizing performance of PL/SQL applications: beyond SQL, there are many concerns and ways to improve the performance of one's PL/SQL code.  From new features to the careful application of long-standing features, Steven will show you how to analyze code performance and, at least in some cases, improve it by one or more orders of magnitude.
     
  • Unit testing PL/SQL programs: let's face it, few of us test our code sufficiently.  Who has the time?  And how are you supposed to write that code, anyway?  In this section of the course, Steven offers "six simple steps to unit testing happiness" that will utterly transform the quality and quantity of your PL/SQL testing.
     
  • Building modular, reusable code: just say "no"....to spaghetti code that is impossible to read, maintain, or enhance.  In this section, Steven will show you how to take advantage of packages, local subprogram units, cursor variables, autonomous transactions, and more to craft small, reusable units of code.
     
  • Error management: every well-crafted application follows a standard, consistent process for handling, raising and reporting errors.  PL/SQL offers a powerful, flexible exception handling architecture, but it has its weaknesses.  Steven will show you how to compensate for those weaknesses, take advantage of the latest error management features, and build a reusable package to log and raise exceptions.

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.
 

Oracle Version
Steven will demonstrate techniques and principles that apply to all versions of Oracle, but will also showcase new features in Oracle Database 10g that can dramatically improve the quality and performance of code that you write. 

 
 

Ten Things You Should NEVER Do With Oracle PL/SQL

Download Now! (1.2MB, Updated: April 18, 2007)  
 

Sure, there's an awful lot you can do and write and accomplish with PL/SQL. There's also, however, an awful lot that you should NEVER do or write or try to accomplish in PL/SQL. This presentation will showcase the "top ten" things to avoid when building a PL/SQL-based application (warning: lots of it is thoroughly tongue-in-cheek!). If you have ideas of your own on this matter, please send them along to Steven at steven@stevenfeuerstein.com and perhaps they will be highlighted in a future iteration of this presentation!
 

Everybody goes on and on about "best practices." We all know, however, that we just don't have time to remember all those important things that we SHOULD do. We are, on the other hand, terrified that someone else will look at our code and laugh at something we did that is just ridiculous and wrong. Fear of embarrassment is a powerful motivator for smart people like PL/SQL programmers, so Steven will use that approach in this presentation with the hopes that maybe THIS time attention will be paid and habits of programming modified! 

 
 

Six Simple Steps to Unit Testing Happiness

Download Now! (.1 MB, Updated April 2006)

 
 

Test Driven Development in the World of PL/SQL

Download Now! (1.5 MB, Updated: April 18, 2007)
 

Test Driven Development or TDD is one of the hottest new buzzwords and lightweight methodologies out there in the world of software. This presentation will explain the principles and motivations behind TDD. We will then explore how to apply TDD to the world of PL/SQL development, with the aim of dramatically improving the quality and maintainability of one's code.

Over $60B is spent each year in the US alone fixing bugs in code. What a waste of time and money! Wouldn't it be nice if we could somehow produce code with fewer bugs? Test Driven Development or TDD holds great promise in this regard. TDD is one of the hottest new buzzwords and lightweight methodologies out there in the world of software. This presentation will explain the principles and motivations behind TDD. We will then explore how to apply TDD to the world of PL/SQL development, with the aim of dramatically improving the quality and maintainability of one's code.