LEADER 01223nam--2200397---450- 001 990000826720203316 005 20060426094202.0 035 $a0082672 035 $aUSA010082672 035 $a(ALEPH)000082672USA01 035 $a0082672 100 $a20020102d1978----km-y0itay0103----ba 101 $aita 102 $aIT 105 $a||||||||001yy 200 1 $a<> "nuovi filosofi"$ela coscienza infelice del nostro tempo$fG. Mura, A. Pieretti, G. Galeazzi$g[interviste con Jean-Marie Benoist...et al.] 210 $aRoma$cCittà nuova$d1978 215 $a307 p$d18 cm 225 2 $aIdee$v36 410 $12001$aIdee$v36 606 0 $aFilosofia$yFrancia$z1968-1977 676 $a194 700 1$aMURA,$bGaspare$0152875 701 1$aPIERETTI,$bAntonio$0152876 701 1$aGALEAZZI,$bUmberto$0142428 801 0$aIT$bsalbc$gISBD 912 $a990000826720203316 951 $aII.1.D. 4021(XV B COLL. 80/36)$b109641 LM$cXV B COLL. 959 $aBK 969 $aUMA 979 $aPATTY$b90$c20020102$lUSA01$h1048 979 $c20020403$lUSA01$h1728 979 $aPATRY$b90$c20040406$lUSA01$h1657 979 $aCOPAT5$b90$c20060426$lUSA01$h0942 996 $aNuovi filosofi$9470411 997 $aUNISA LEADER 00864oas 2200265z- 450 001 9910340292703321 035 $a(CKB)1000000000017092 035 $a(EXLCZ)991000000000017092 100 $a20190505cuuuuuuuu -u- - 101 0 $aeng 200 00$aEstates Europe 210 $aLondon$cReed Business Information Limited 311 $a0967-1862 531 $aESTATES EUR. 531 $aEUROPROPERTY 606 $aBusiness, Economy and Management$xBusiness Management 606 $aBusiness, Economy and Management$xGeneral and Others 606 $aLaw$xIntellectual Property 615 4$aBusiness, Economy and Management$xBusiness Management 615 4$aBusiness, Economy and Management$xGeneral and Others 615 4$aLaw$xIntellectual Property 906 $aJOURNAL 912 $a9910340292703321 996 $aEstates Europe$91907621 997 $aUNINA LEADER 01942nam 2200385 n 450 001 996383117803316 005 20200824121329.0 035 $a(CKB)1000000000582961 035 $a(EEBO)2240915226 035 $a(UnM)99848306e 035 $a(UnM)99848306 035 $a(EXLCZ)991000000000582961 100 $a19920106d1598 uy | 101 0 $aeng 135 $aurbn||||a|bb| 200 04$aThe making and vse of the geometricall instrument, called a sector$b[electronic resource] $eWhereby many necessarie geometricall conclusions concerning the proportionall description, and diuision of lines, and figures, the drawing of a plot of ground, the translating of it from one quantitie to another, and the casting of it vp geometrically, the measuring of heights, lengths and breadths may be mechanically perfomed with great expedition, ease, and elight to all those, which commonly follow the practise of the mathematicall arts, either in suruaying of land, or otherwise. Written by Thomas Hood, doctor in physicke. 1598. The instrument is made by Charles Whitwell dwelling without Temple Barre against S. Clements church 210 $aLondon $cPrinted by Iohn Windet, and are to solde [sic]at the great North dore of Paules Church by Samuel Shorter$d[1598] 215 $a[6], 50 [i.e. 51], [1] leaves 300 $aPublication date from STC. 300 $aIncludes an errata leaf at end. 300 $aReproduction of the original in the Bodleian Library. 330 $aeebo-0014 606 $aMathematics$vEarly works to 1800 606 $aGeometry$vEarly works to 1800 615 0$aMathematics 615 0$aGeometry 700 $aHood$b Thomas$ffl. 1582-1598.$01002139 801 0$bCu-RivES 801 1$bCu-RivES 801 2$bCStRLIN 801 2$bWaOLN 906 $aBOOK 912 $a996383117803316 996 $aThe making and vse of the geometricall instrument, called a sector$92355382 997 $aUNISA LEADER 10871nam 2200481 450 001 9910484705403321 005 20211014001806.0 010 $a1-4842-6711-7 035 $a(CKB)4100000011801712 035 $a(MiAaPQ)EBC6521539 035 $a(Au-PeEL)EBL6521539 035 $a(OCoLC)1242408156 035 $a(CaSebORM)9781484267110 035 $a(PPN)254725988 035 $a(EXLCZ)994100000011801712 100 $a20211014d2021 uy 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aImproving the quality of ABAP code $estriving for perfection /$fPaul David Hardy 210 1$a[Place of publication not identified] :$cApress,$d[2021] 210 4$d©2021 215 $a1 online resource (526 pages) 311 $a1-4842-6710-9 327 $aIntro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Why Object-Oriented Programming Is a Must for Code Quality -- Why OO Has Never Taken Off in ABAP World -- OO Benefits: The Theory -- Describing OO Programs: UML -- Describing OO Programs: BON -- Seamlessness/Reversibility -- Seamlessness via an Automated Tool -- Seamlessness via Naming Conventions -- Design by Contract -- Design by Unit Tests -- Designing a Worldwide OO Program -- What Is the Existing System State? -- Why Is the Existing System State Not Portable? -- What Can Be Done About Fixing That Problem? -- Breaking Dependencies in General -- Breaking Dependencies via Packages -- Breaking Dependencies via Interfaces -- What Is an Interface in OO Terms? -- How SAP Uses Interfaces to Manage User Exits -- Not Breaking the System -- My Journey to OO Happiness -- OO Happiness: The Theory -- The Clean Coder -- Clean Code -- Head-First Design Patterns -- More on Design Patterns -- OO Happiness: The Reality -- Writing an Interactive Executable Report in OO -- Writing a DYNPRO Program in OO -- Experiment -- Rewriting a Huge, Business-Critical Program in OO -- Slowly Transforming a Huge, Business-Critical Program to OO -- OO Benefits: The Reality -- Soft Benefits -- Design Thinking -- Ease of Maintenance -- No One Goes Back -- Hard Benefits -- Avoidance of Syntax Errors -- Parameter Handling -- IMPORTING -- EXPORTING -- TABLES -- RETURNING -- OPTIONAL -- NAMES -- TYPES -- FORMULAS -- Reuse -- Making Code Testable -- Conclusion -- Recommended Reading -- Articles -- Books -- Chapter 2: Why Test-Driven Development Is a Must for Code Quality -- TDD Theory -- Fragile Code -- Legacy Code -- Automated Regression Tests -- Dependencies and How to Break Them -- The TDD Development Cycle: RED/GREEN/BLUE -- My Journey to TDD Happiness. 327 $aTesting After the Event -- Testing Before the Event -- TDD Workflow in Eclipse -- Creating Test Doubles -- Creating a New Test Method -- Coding the Test Method -- Coding the THEN Method -- Coding the GIVEN Method -- Coding the WHEN Method -- Writing the Production Code -- The BLUE Phase -- Does This Actually Give You a Benefit? -- From a Gut Feeling . . . -- . . . to a Concrete Example -- Some Unit Tests Might Seem Pointless . . . -- It's Too Short to Test -- It's Too Simple to Test -- . . . but They Are Not! -- Message in a Model -- You Can't Get There from Here -- Simpler but Wrong -- Why TDD Has Never Taken Off -- I Already Have an Automated Testing Framework -- My Program Is Too Complicated for TDD -- My Program Is Too Simple for TDD -- TDD Is Far Too Expensive -- TDD Reduces Development Costs -- TDD Reduces the Cost of Fixing Bugs -- TDD Reduces the Financial Risk of Failure -- Conclusion -- Recommended Reading -- Chapter 3: Clarity: The First Pillar of Code Quality -- Refactoring: Automated and Manual Checks -- Automated Checks -- Syntax Check -- Extended Program Check -- Code Inspector -- ABAP Open Checks -- Code Pal -- Remote ATC Checks -- Continuous Integration -- Manual Checks -- Clean ABAP -- ABAP Gore -- Creating a Personalized Checklist -- Code Complexity -- Huge Routines -- Confusing Code -- Double Negatives -- Text Symbols -- Pointless Variables -- Contradictory Instructions -- END-OF-SELECTION -- DATA Declarations -- Unrelated Tasks -- Not Being Able to Locate a Routine -- Duplicate Code -- Global Variables -- Why Are Global Variables Bad? -- What Can You Do About Global Variables? -- Global Variables Versus Member Variables -- Naming -- Method/Routine Naming -- Misleading Names -- Totally Incorrect Names -- Sloppy Naming -- Parameter Naming -- Named Parameters -- Functional Methods -- Variable Naming -- Hungarian Notation. 327 $aPrefixes in an OO Context -- Random Naming Conventions -- Misleading Names -- Very Old Programs -- Inline Declarations -- Self-Documenting -- German Acronyms -- Magic Numbers -- Hard Coding -- Constants -- Redundant Constants -- Meaningless Constants -- How Not to Use Constants -- ABAP Data Dictionary Object Naming -- Tables -- Transaction Codes -- Structures -- Indexes -- Program Names -- CDS Views -- How Correct Naming Enables Reuse -- Comments -- Why, Not How -- Quotation Marks Versus Asterisks -- Meaningless Comments -- Incorrect Comments -- Reference Numbers in Comments -- Comments Going for a Walk -- Commented-Out Code -- It Makes the Program Harder to Follow -- It Causes Short Dumps -- It Doesn't Always Work -- It Should Be Deleted -- Documentation -- Conclusion -- Recommended Reading -- Chapter 4: Stability: The Second Pillar of Code Quality -- Principle of Least Astonishment -- Enhancement Category -- Material Substitution -- Data Declarations in Modules -- Hashed Tables -- Incorrectly Typed RETURNING Parameter -- Programming by Accident -- Wrong Code That Works -- Incorrect Behavior Being Viewed as Correct -- Archaic ABAP Statements -- Strange Data Declarations -- Implicit Work Area -- What Do You Do? -- Don't Repeat Yourself -- Time/Difficulty -- Before the Event -- After the Event -- Riskiness -- Surgeon Example -- Drill-Down Example -- Text Names Example -- Payer Example -- Avoiding Repetition in OO Programming -- Other Common Causes of Instability -- Global Variables -- Cannon Example -- Half-Dog Half-Cat Example -- Function Modules -- Cross-Program Calls -- Table-Based Work Areas -- Parameters -- Importing Parameters -- Exporting Parameters -- Fully Typed Parameters -- Big Trouble with Big Signatures -- Memory Problems -- Dealing with Instability: Using Code -- Problems That Virtually Always Happen -- Fuzzy Searches -- Spreadsheets. 327 $aProblems That Are Likely to Happen -- SY-SUBRC -- BAPIs -- BDCs -- Field Symbols -- Problems That Really Shouldn't Happen -- Self-Repair: Example 1 -- Self-Repair: Example 2 -- Problems That Should Never, Ever Happen -- Spotting the Impossible -- Dealing with the Impossible -- Dealing with Instability: Using Humans -- What's Wrong #1 -- What's Wrong #2 -- Conclusion -- Recommended Reading -- Chapter 5: Performance: The Third Pillar of Code Quality -- CPO Concept -- Daily Dumps -- Annual In-House CPO -- Static Checks -- Geometric Loops -- Secondary Indexes for Internal Tables -- Runtime Checks -- ST05 in General -- Identical SELECTS -- How to Spot the Problem -- Strategies to Deal with the Problem -- Real-Life Example -- Stuttering -- Asking Stupid Questions -- Reading More Data Than Needed -- Selecting More Columns Than You Need -- Selecting More Rows Than You Need -- The Behavior Never Made Sense -- The Behavior No Longer Makes Sense -- The Behavior Makes Sense -- Existence Checks -- Multiple Reads on the Same Table -- Contract Example -- Partner Function Example -- Shipment Cost Example -- Using FOR ALL ENTRIES -- Indexes -- Indexes: Always Using One -- Indexes: Missing the First Field -- Indexes: SKIP SCAN -- Nested SELECTs -- "Bad" Joins on Database Tables -- Postmortem Checks -- Standard SAP Transactions for Troubleshooting Performance Problems -- SAT -- ST04 -- SRTCM -- Technical Attributes of Database Tables -- Indexes -- Pointless Index -- Terrible Index -- Really Good Index -- Buffering -- Possible Buffering Settings -- Example of How Buffering Can Help -- Common Misconception About Generic Buffering -- How to Decide Which Z Tables to Buffer -- Postmortem Tricks -- Batch Jobs -- Deadlocks -- Sneaky Tricks -- Database Reads in a Loop -- Using Standard SAP "Buffering" Modules -- When to Use Them -- KNA1_SINGLE_READER -- Prefilling Buffers. 327 $aConstants -- INTO CORRESPONDING -- DDIC Information -- Using Standard SAP Functions Incorrectly -- Conclusion -- Chapter 6: User Friendliness: Ensuring UI Quality -- General Philosophy -- Difference Between UI and UX -- Don't Make Me Think -- Waterfall Projects -- Consistency -- Standards -- Applying Industry Standards -- Non-Standard Icon Appearance -- Non-Standard Icon Usage -- Inconsistency -- Inconsistency in F4 Helps -- Inconsistency in Pop-Ups -- Inconsistency in Master Data Transactions -- Ease of Use -- Laying Traps for the User -- Hiding Icons for No Reason -- Hiding Fields for No Reason -- Slightly Hidden Field -- Totally Hidden Field -- Incorrect Use of Check Boxes -- Confusing the User -- Giving Incorrect Options -- Giving No Options at All -- Accessibility -- Explaining Things to the User -- Avoiding Abbreviations -- Custom Data Elements -- Custom F1 Help -- Custom Domains -- Error Prevention -- Inviting Errors -- Self-Destruct Button -- Stopping Dumps Before They Begin -- Self-Service -- Logging -- Linking Errors to Training Material -- Sneaky Trick: ALV Filter Not Working -- Error Handling -- Shouting at the User -- Preventing the User from Fixing the Problem -- Making the User Reenter Data -- Making It Impossible to Fix the Problem -- Enabling the User to Fix the Problem -- Mandatory Fields -- Taking the User to the Source of the Problem -- Example: IDoc Application Log -- Documentation -- Documentation Guidelines -- Documentation Terminology -- Documentation for Dialog Transactions -- Documentation for Developers -- Conclusion -- Recommended Reading -- Chapter 7: User Exits: Defusing a Potential Time Bomb -- User Exits in On-Premises SAP Systems -- VOFM Routines -- Repairs -- FORM-Based User Exits -- CMOD User Exits -- BAdi User Exits -- The Enhancement Framework -- User Exits in Your Own Z Programs -- User Exits in Cloud SAP Systems. 327 $aUI Extensibility. 606 $aABAP/4 (Computer program language) 615 0$aABAP/4 (Computer program language) 676 $a005.133 700 $aHardy$b Paul David$0846766 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910484705403321 996 $aImproving the quality of ABAP code$91891865 997 $aUNINA