Object-Oriented Architecture
Refactoring with Microsoft Visual Studio 2010 - Programmer Books
This book is a superb practical guide for any developer considering refactoring their code with Visual Studio. Its accessible approach covers all aspects of updating your C# code base to make it maintainable and adaptable. Overview Make your code base maintainable with refactoring Support new features more easily by making your system adaptable Enhance your system with an improved object-oriented design and increased encapsulation and componentization Concepts are presented in a comfortable one-on-one, pair-programming style A practical approach that's packed with examples to enrich understanding What you will learn from this book Improve code readability by applying effective concepts and techniques Spot discrepancies in code with code smells Catch and eliminate dead code and learn several such smart methods Make changes to your code without introducing adverse side-effects with code maintainability Learn smart ways to improve code navigability Improve your design by applying design principles and methodologies Enhance the maintainability of your code base by refactoring it to be more cohesive and less coupled Obtain an optimal level of flexibility by refactoring your code to a loosely-coupled design Minimize the side effects and support changes to your code by refactoring to a layered architecture Support your evolving code base by refactoring architectural behavior Back up the refactoring effort by ensuring quality with Unit Testing Approach This book focuses on real-world, easy-to-understand examples of code in a one-on-one style. Refactoring examples are performed and reasons why this refactoring should be applied are detailed. The book is structured from less advanced topics to more advanced topics; but is designed so that reading from beginning to end is not necessary. Who this book is written for This book is primarily for developers who want to refactor their code in Visual Studio.
Beginning Programming with Python For Dummies, 2nd Edition [pdf] - Programmer Books
Python is a remarkably powerful and dynamic programming language that's used in a wide variety of application domains. Some of its key distinguishing features include a very clear, readable syntax, strong introspection capabilities, intuitive object orientation, and natural expression of procedural code. Plus, Python features full modularity, supporting hierarchical packages, exception-based error handling, and modules easily written in C, C, Java, R, or .NET languages, such as C#. In addition, Python supports a number of coding styles that include: functional, imperative, object-oriented, and procedural. Due to its ease of use and flexibility, Python is constantly growing in popularity--and now you can wear your programming hat with pride and join the ranks of the pros with the help of this guide.
Teach Yourself Java in 21 Days - Programmer Books
This book is intended for people with at least some basic programming background, which includes people with years of programming experience or people with only a small amount of experience. If you understand what variables, loops, and functions are, you'll be just fine for this book. The sorts of people who might want to read this book include you, if You're a real whiz at HTML, understand CGI programming (in Perl, AppleScript, Visual Basic, or some other popular CGI language) pretty well, and want to move on to the next level in Web page design. You had some Basic or Pascal in school and you have a basic grasp of what programming is, but you've heard Java is easy to learn, really powerful, and very cool. You've programmed C and C for many years, you've heard this Java thing is becoming really popular and you're wondering what all the fuss is all about.
C How to Program (9th Edition) [pdf] - Programmer Books
This bestseller on c provides a clear, simple, engaging and entertaining introduction to c 11 programming with hundreds of fully coded programs. Adheres to key cert secure c coding guidelines. Code tested on key free compilers: gnu g, Microsoft visual c and apple llvm. Making a difference exercises set.
Java 3: Object-oriented programming - Programmer Books
This book is the third in a series of books on software development in Java The subject is object-oriented programming that deals with how a running program consists of cooperating objects and how these objects are defined and created on the basis of the program's classes. Other object-oriented subjects are treated in the next book.
Practical Object-Oriented Design in Ruby: An Agile Primer [PDF] - Programmer Books
Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples. Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change.
4 Design Principles for Data Processing
The practice of Design Patterns is most popular in Object-Oriented Programming (OOP), which has been effectively explained and summarized in the classic book "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma and Richard Helm. "A software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system." For data science, many people may have asked the same question: does data science programming have design patterns?
TypeScript Notes for Professionals [PDF] - Programmer Books
TypeScript is a typed superset of JavaScript, which means that all JavaScript code is valid TypeScript code. TypeScript adds a lot of new features on top of that. TypeScript makes JavaScript more like a strongly-typed, object-oriented language akin to C# and Java. This means that TypeScript code tends to be easier to use for large projects and that code tends to be easier to understand and maintain. The strong typing also means that the language can (and is) precompiled and that variables cannot be assigned values that are out of their declared range.
Object-oriented programming for data scientists: Build your ML estimator
UPDATE: You will always find the latest Python script (with the linear regression class definition and methods) HERE. Use it to build further or experiment. Data scientists often come from a background which is quite far removed from traditional computer science/software engineering -- physics, biology, statistics, economics, electrical engineering, etc. But ultimately, they are expected to pick up a sufficient amount of programming/software engineering to be truly impactful for their organization and business. Being a Data Scientist does not make you a Software Engineer! And, what is at the heart of most modern programming languages and software engineering paradigms?