Title: Refactoring With Relations. A New Method for Refactoring Object-Oriented Software
Description: This electronic book discusses refactoring with support from the relational model of computer programs. Code in all programming languages needs refactoring,and a multi-language refactoring engine is needed to  refactor that code. Refactoring is about structure, and the book is about structure. The book proceeds to discuss the structure of code, argues that it needs to be identified, separated from language constructs, and encapsulated into a container. The encapsulated structure is preserved in a pristine state and serves as an invariant point of reference for the refactoring transformations.  The book defines "bad" code as one with a damaged structure and "good" code as one with a properly encapsulated and logically sound structure. The book proposes the relational model as the container for the structure of the program and to serve as a language-independent, non-object-oriented repository with sufficient information to support refactoring. Relations are covered as a fundamental mathematical tool used to describe structure. The model can be created from existing code by a specialized parser, and a sparse matrix partitioning algorithm can create the refactored classes by recursively encapsulating user types. The combination of the model and the algorithm makes automatic polyglot refactoring of computer code possible. The model provides for integration of refactoring tools and development tools into one platform.  The book also demonstrates that deep refactoring converts "bad" code into Strong Ownership code, a programming style described in the book, and demonstrates that the need for refactoring may be  reduced by following the Strong Ownership prescriptions during development. The book includes many practical examples, presents experimental evidence, discusses various applications and possible implementations, and covers details of the process of refactoring with relational support, as well as the conversion from the model to final object-oriented code.  Relational support for refactoring is a new concept. The production of tools will take time, meanwhile, developers are advised to mind Strong Ownership techniques. This is an 83-page eBook in PDF format presenting refactoring in a new light and a much larger scale. Downloads are provided and a page sample is available from SciControls.com. The page sample is a pdf file with the preface, table of contents, index, and some selected pages.
Subjects: Computer Technology, Nonfiction, Science, Technology