![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Software engineering
Base stations developed according to the 3GPP Long Term Evolution (LTE) standard require unprecedented processing power. 3GPP LTE enables data rates beyond hundreds of Mbits/s by using advanced technologies, necessitating a highly complex LTE physical layer. The operating power of base stations is a significant cost for operators, and is currently optimized using state-of-the-art hardware solutions, such as heterogeneous distributed systems. The traditional system design method of porting algorithms to heterogeneous distributed systems based on test-and-refine methods is a manual, thus time-expensive, task. "Physical Layer Multi-Core Prototyping: A Dataflow-Based Approach" provides a clear introduction to the 3GPP LTE physical layer and to dataflow-based prototyping and programming. The difficulties in the process of 3GPP LTE physical layer porting are outlined, with particular focus on automatic partitioning and scheduling, load balancing and computation latency reduction, specifically in systems based on heterogeneous multi-core Digital Signal Processors. Multi-core prototyping methods based on algorithm dataflow modeling and architecture system-level modeling are assessed with the goal of automating and optimizing algorithm porting. With its analysis of physical layer processing and proposals of parallel programming methods, which include automatic partitioning and scheduling, "Physical Layer Multi-Core Prototyping: A Dataflow-Based Approach" is a key resource for researchers and students. This study of LTE algorithms which require dynamic or static assignment and dynamic or static scheduling, allows readers to reassess and expand their knowledge of this vital component of LTE base station design. "
Escape "Zombie Scrum" and Get Real Value from Agile! "Professional Scrum and Zombie Scrum are mortal enemies in eternal combat. If you relax your guard, Zombie Scrum comes back. This guide helps you stay on your guard, providing very practical tips for identifying when you have become a Zombie and how to stop this from happening. A must-have for any Zombie Scrum hunter." --Dave West, CEO, Scrum.org "Barry, Christiaan, and Johannes have done a magnificent job of accumulating successful experiences and sharing their inspiring stories in this very practical book. They don't shy away from telling it like it is, which is why their proposals are always as useful as they are grounded in reality." --Henri Lipmanowicz, cofounder, Liberating Structures Millions of professionals use Scrum. It is the #1 approach to agile software development in the world. Even so, by some estimates, over 70% of Scrum adoptions fall flat. Developers find themselves using "Zombie Scrum" processes that look like Scrum, but are slow, lifeless, and joyless. Scrum is just not working for them. Zombie Scrum Survival Guide reveals why Scrum runs aground and shows how to supercharge your Scrum outcomes, while having a lot more fun along the way. Humorous, visual, and extremely relatable, it offers practical approaches, exercises, and tools for escaping Zombie Scrum. Even if you are surrounded by skeptics, this book will be the antidote to help you build more of what users need, ship faster, improve more continuously, interact more successfully in any team, and feel a whole lot better about what you are doing. Suddenly, one day soon, you will remember: that is why we adopted Scrum in the first place! Learn how Zombie Scrum infects you, why it spreads, and how to inoculate yourself Get closer to your stakeholders, and wake up to their understanding of value Discover why Zombie teams can't learn, and what to do about it Clear away the specific obstacles to real continuous improvement Make self-managed teams real so people can behave like humans, not Zombies Zombie Scrum Survival Guide is for Scrum Masters, Scrum practitioners, Agile coaches and leaders, and everyone who wants to transform the promises of Scrum into reality. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
A complete textbook and reference for engineers to learn the fundamentals of computer programming with modern C++ Introduction to Programming with C++ for Engineers is an original presentation teaching the fundamentals of computer programming and modern C++ to engineers and engineering students. Professor Cyganek, a highly regarded expert in his field, walks users through basics of data structures and algorithms with the help of a core subset of C++ and the Standard Library, progressing to the object-oriented domain and advanced C++ features, computer arithmetic, memory management and essentials of parallel programming, showing with real world examples how to complete tasks. He also guides users through the software development process, good programming practices, not shunning from explaining low-level features and the programming tools. Being a textbook, with the summarizing tables and diagrams the book becomes a highly useful reference for C++ programmers at all levels. Introduction to Programming with C++ for Engineers teaches how to program by: Guiding users from simple techniques with modern C++ and the Standard Library, to more advanced object-oriented design methods and language features Providing meaningful examples that facilitate understanding of the programming techniques and the C++ language constructions Fostering good programming practices which create better professional programmers Minimizing text descriptions, opting instead for comprehensive figures, tables, diagrams, and other explanatory material Granting access to a complementary website that contains example code and useful links to resources that further improve the reader's coding ability Including test and exam question for the reader's review at the end of each chapter Engineering students, students of other sciences who rely on computer programming, and professionals in various fields will find this book invaluable when learning to program with C++.
Since its first volume in 1960, Advances in Computers has presented detailed coverage of innovations in computer hardware, software, theory, design, and applications. It has also provided contributors with a medium in which they can explore their subjects in greater depth and breadth than journal articles usually allow. As a result, many articles have become standard references that continue to be of significant, lasting value in this rapidly expanding field.
Master proven processes for improving development with Scrum and Azure DevOps This guide can help any development team plan, track, and manage work far more effectively, by combining today's leading agile framework (Scrum) and Microsoft's ALM/DevOps toolset (Azure DevOps). Renowned Scrum expert Richard Hundhausen thoroughly covers team formation, backlogs, Sprints, test plans, collaboration, flow, continuous improvement, Azure Boards, Azure Test Plans, and the real-world tradeoffs associated with DevOps. Throughout, you'll find practical, in-the-trenches tips from experienced Professional Scrum Developers. To make this guide even more valuable, Hundhausen has organized it to complement Scrum.org's popular Professional Scrum Developer (PSD) program, which he created with Scrum.org's Ken Schwaber, author of this book's Foreword. Professional Scrum Trainer Richard Hundhausen shows how to: Deepen your understanding of the Scrum framework and Professional Scrum as based on the 2020 Scrum Guide. Provide proven work item planning and tracking, and quickly drive value from Azure Boards Improve your Scrum "pre-game": the tasks you'll perform before your first Sprint Use Azure DevOps to create and manage backlogs, plan Sprints, and collaborate throughout them Improve at scale with Scaled Professional Scrum and the Nexus scaled Scrum framework Recognize which practices are still most efficiently performed without tools Define and optimize team flow, overcome common dysfunctions, and evolve into a high-performance Professional Scrum Team About This Book For everyone who works with or relies on Scrum, including developers, designers, architects, testers, business analysts, Product Owners, Scrum Masters, managers, and other stakeholders Focuses primarily on using Scrum for software products, but can support development of adaptive solutions for any complex problem performance Professional Scrum Team
Category theory is unmatched in its ability to organize and layer abstractions and to find commonalities between structures of all sorts. No longer the exclusive preserve of pure mathematicians, it is now proving itself to be a powerful tool in science, informatics, and industry. By facilitating communication between communities and building rigorous bridges between disparate worlds, applied category theory has the potential to be a major organizing force. This book offers a self-contained tour of applied category theory. Each chapter follows a single thread motivated by a real-world application and discussed with category-theoretic tools. We see data migration as an adjoint functor, electrical circuits in terms of monoidal categories and operads, and collaborative design via enriched profunctors. All the relevant category theory, from simple to sophisticated, is introduced in an accessible way with many examples and exercises, making this an ideal guide even for those without experience of university-level mathematics.
This book constitutes the refereed proceedings of the Third IFIP WG 5.5/SOCOLNET Doctoral Conference on Computing, Electrical and Industrial Systems, DoCEIS 2012, held in Costa de Caparica, Portugal, in February 2012. The 65 revised full papers were carefully reviewed and selected from numerous submissions. They cover a wide spectrum of topics ranging from collaborative enterprise networks to microelectronics. The papers are organized in topical sections on collaborative systems, service orientation, knowledge and content management, human interaction, Petri nets, smart systems, robotic systems, perceptional systems, signal processing, energy, renewable energy, energy smart grid, power electronics, electronics, optimization in electronics, telecommunications and electronics, and electronic materials. The book also includes papers from the Workshop on Data Anaylsis and Modeling Retina in Health and Disease.
Guarantee the quality and consistency of your web APIs by implementing an automated testing process. In Testing Web APIs you will: Design and implement a web API testing strategy Set up a test automation suite Learn contract testing with Pact Facilitate collaborative discussions to test web API designs Perform exploratory tests Experiment safely in a downloadable API sandbox environment Testing Web APIs teaches you to plan and implement the perfect testing strategy for your web APIs. In it, you'll explore dozens of different testing activities to help you develop a custom testing regime for your projects. You'll learn to take a risk-driven approach to API testing, and build a strategy that goes beyond the basics of code and requirements coverage. about the technology To other developers, your API is the face of your application. Thorough, well-designed testing ensures that your APIs will perform as expected, every time. Impeccable API testing goes beyond the basics of code coverage, to encompass documentation and design that sends the right information to your third-party users. A robust testing strategy helps you avoid costly errors that can damage your revenue, your reputation, and your user's trust. about the book In Testing Web APIs you'll develop a diverse testing program that gets your whole team involved in ensuring quality. This practical book demystifies abstract strategic concepts by applying them to common API testing scenarios, revealing how these complex ideas work in the real world. It fully covers automation techniques like functional API automation, contract testing, and automated acceptance test-driven design that will save your team's time. You'll map the potential risks your API could face, and use those risks as a launching point for your testing activities. A good strategy has a mix of focuses, so you'll master a wide range of API testing techniques like exploratory testing and live testing of production code. A downloadable API sandbox lets you go hands-on and experiment in a safe environment. You'll soon be ready to implement a strategy that ensures API quality and makes testing a real asset to your team.
An Approach to Modelling Software Evolution Processes describes formal software processes that effectively support software evolution. The importance and popularity of software evolution increase as more and more successful software systems become legacy systems. For one thing, software evolution has become an important characteristic in the software life cycle; for another, software processes play an important role in increasing efficiency and quality of software evolution. Therefore, the software evolution process, the inter-discipline of software process and software evolution, becomes a key area in software engineering. The book is intended for software engineers and researchers in computer science. Prof. Tong Li earned his Ph.D. in Software Engineering at De Montfort University, U.K.; he has published five monographs and over one hundred papers.
We're losing hundreds of billions of dollars a year on broken software, and great new ideas such as agile development and Scrum don't always pay off. But there's hope. The nine software development practices in Beyond Legacy Code are designed to solve the problems facing our industry. Discover why these practices work, not just how they work, and dramatically increase the quality and maintainability of any software project. These nine practices could save the software industry. Beyond Legacy Code is filled with practical, hands-on advice and a common-sense exploration of why technical practices such as refactoring and test-first development are critical to building maintainable software. Discover how to avoid the pitfalls teams encounter when adopting these practices, and how to dramatically reduce the risk associated with building software--realizing significant savings in both the short and long term. With a deeper understanding of the principles behind the practices, you'll build software that's easier and less costly to maintain and extend.By adopting these nine key technical practices, you'll learn to say what, why, and for whom before how; build in small batches; integrate continuously; collaborate; create CLEAN code; write the test first; specify behaviors with tests; implement the design last; and refactor legacy code. Software developers will find hands-on, pragmatic advice for writing higher quality, more maintainable, and bug-free code. Managers, customers, and product owners will gain deeper insight into vital processes. By moving beyond the old-fashioned procedural thinking of the Industrial Revolution, and working together to embrace standards and practices that will advance software development, we can turn the legacy code crisis into a true Information Revolution.
Modern-day projects require software and systems engineers to work together in realizing architectures of large and complex software-intensive systems. To date, the two have used their own tools and methods to deal with similar issues when it comes to the requirements, design, testing, maintenance, and evolution of these architectures. Software and Systems Architecture in Action explores practices that can be helpful in the development of architectures of large-scale systems in which software is a major component. Examining the synergies that exist between the disciplines of software and systems engineering, it presents concepts, techniques, and methods for creating and documenting architectures. The book describes an approach to architecture design that is driven from systemic quality attributes determined from both the business and technical goals of the system, rather than just its functional requirements. This architecture-centric design approach utilizes analytically derived patterns and tactics for quality attributes that inform the architect's design choices and help shape the architecture of a given system. The book includes coverage of techniques used to assess the impact of architecture-centric design on the structural complexity of a system. After reading the book, you will understand how to create architectures of systems and assess their ability to meet the business goals of your organization. Ideal for anyone involved with large and complex software-intensive systems, the book details powerful methods for engaging the software and systems engineers on your team. The book is also suitable for use in undergraduate and graduate-level courses on software and systems architecture as it exposes students to the concepts and techniques used to create and manage architectures of software-intensive systems.
Large Scale and Big Data: Processing and Management provides readers with a central source of reference on the data management techniques currently available for large-scale data processing. Presenting chapters written by leading researchers, academics, and practitioners, it addresses the fundamental challenges associated with Big Data processing tools and techniques across a range of computing environments. The book begins by discussing the basic concepts and tools of large-scale Big Data processing and cloud computing. It also provides an overview of different programming models and cloud-based deployment models. The book's second section examines the usage of advanced Big Data processing techniques in different domains, including semantic web, graph processing, and stream processing. The third section discusses advanced topics of Big Data processing such as consistency management, privacy, and security. Supplying a comprehensive summary from both the research and applied perspectives, the book covers recent research discoveries and applications, making it an ideal reference for a wide range of audiences, including researchers and academics working on databases, data mining, and web scale data processing. After reading this book, you will gain a fundamental understanding of how to use Big Data-processing tools and techniques effectively across application domains. Coverage includes cloud data management architectures, big data analytics visualization, data management, analytics for vast amounts of unstructured data, clustering, classification, link analysis of big data, scalable data mining, and machine learning techniques.
Whether you need a new tool or just inspiration, "Seven Web Frameworks in Seven Weeks" explores modern options, giving you a taste of each with ideas that will help you create better apps. You'll see frameworks that leverage modern programming languages, employ unique architectures, live client-side instead of server-side, or embrace type systems. You'll see everything from familiar Ruby and JavaScript to the more exotic Erlang, Haskell, and Clojure. The rapid evolution of web apps demands innovative solutions: this survey of frameworks and their unique perspectives will inspire you and get you thinking in new ways to meet the challenges you face daily. This book covers seven web frameworks that are influencing modern web applications and changing web development: Sinatra, CanJS, AngularJS, Ring, Webmachine, Yesod, Immutant. Each of these web frameworks brings unique and powerful ideas to bear on building apps. Embrace the simplicity of Sinatra, which sheds the trappings of large frameworks and gets back to basics with Ruby. Live in the client with CanJS, and create apps with JavaScript in the browser. Be declarative with AngularJS; say what you want, not how to do it, with a mixture of declarative HTML and JavaScript. Turn the web into data with Ring, and use Clojure to make data your puppet. Become a master of advanced HTTP with Webmachine, and focus the power of Erlang. Prove web theorems with Yesod; see how Haskell's advanced type system isn't just for academics. Develop in luxury with Immutant, an enlightened take on the enterprise framework."Seven Web Frameworks" will influence your work, no matter which framework you currently use. Welcome to a wider web.What You Need: You'll need Windows, MacOS X or Linux, along with your favorite web browser. Each chapter will cover what you need to download and which language versions are required.
The dependence on quality software in all areas of life is what makes software engineering a key discipline for today's society. Thus, over the last few decades it has been increasingly recognized that it is particularly important to demonstrate the value of software engineering methods in real-world environments, a task which is the focus of empirical software engineering. One of the leading protagonists of this discipline worldwide is Prof. Dr. Dr. h.c. Dieter Rombach, who dedicated his entire career to empirical software engineering. For his many important contributions to the field he has received numerous awards and recognitions, including the U.S. National Science Foundation's Presidential Young Investigator Award and the Cross of the Order of Merit of the Federal Republic of Germany. He is a Fellow of both the ACM and the IEEE Computer Society. This book, published in honor of his 60th birthday, is dedicated to Dieter Rombach and his contributions to software engineering in general, as well as to empirical software engineering in particular. This book presents invited contributions from a number of the most internationally renowned software engineering researchers like Victor Basili, Barry Boehm, Manfred Broy, Carlo Ghezzi, Michael Jackson, Leon Osterweil, and, of course, by Dieter Rombach himself. Several key experts from the Fraunhofer IESE, the institute founded and led by Dieter Rombach, also contributed to the book. The contributions summarize some of the most important trends in software engineering today and outline a vision for the future of the field. The book is structured into three main parts. The first part focuses on the classical foundations of software engineering, such as notations, architecture, and processes, while the second addresses empirical software engineering in particular as the core field of Dieter Rombach's contributions. Finally, the third part discusses a broad vision for the future of software engineering.
As the complexity of today s networked computer systems grows,
they become increasingly difficult to understand, predict, and
control. Addressing these challenges requires new approaches to
building these systems. Adaptive, Dynamic, and Resilient Systems
supplies readers with various perspectives of the critical
infrastructure that systems of networked computers rely on. It
introduces the key issues, describes their interrelationships, and
presents new research in support of these areas.
The safety case (SC) is one of the railway industry's most important deliverables for creating confidence in their systems. This is the first book on how to write an SC, based on the standard EN 50129:2003. Experience has shown that preparing and understanding an SC is difficult and time consuming, and as such the book provides insights that enhance the training for writing an SC. The book discusses both "regular" safety cases and agile safety cases, which avoid too much documentation, improve communication between the stakeholders, allow quicker approval of the system, and which are important in the light of rapidly changing technology. In addition, it discusses the necessity of frequently updating software due to market requirements, changes in requirements and increased cyber-security threats. After a general introduction to SCs and agile thinking in chapter 1, chapter 2 describes the majority of the roles that are relevant when developing railway-signaling systems. Next, chapter 3 provides information related to the assessment of signaling systems, to certifications based on IEC 61508 and to the authorization of signaling systems. Chapter 4 then explains how an agile safety plan satisfying the requirements given in EN 50126-1:1999 can be developed, while chapter 5 provides a brief introduction to safety case patterns and notations. Lastly, chapter 6 combines all this and describes how an (agile) SC can be developed and what it should include. To ensure that infrastructure managers, suppliers, consultants and others can take full advantage of the agile mind-set, the book includes concrete examples and presents relevant agile practices. Although the scope of the book is limited to signaling systems, the basic foundations for (agile) SCs are clearly described so that they can also be applied in other cases.
This book constitutes the refereed proceedings of the IFIP WG 8.6 International Working Conference on Governance and Sustainability in Information Systems, held in Hamburg, Germany, in September 2011. The 14 revised full papers and 16 research in progress and practice papers presented were carefully reviewed and selected from 47 submissions. The full research papers are organized in the following topical sections:governance, sustainability, design themes, customer and user integration, and future subjects.
Written by two very experienced instructors, with more than thirty years of teaching experience between them; Presents material that is grounded in practical applications that are representative of the problems researchers encounter in real life; Teaches readers the core features of modern JavaScript; Covers programming with callbacks and promises; Describes how to build data services and data visualization;
In areas such as military, security, aerospace, and disaster management, the need for performance optimization and interoperability among heterogeneous systems is increasingly important. Model-driven engineering, a paradigm in which the model becomes the actual software, offers a promising approach toward systems of systems (SoS) engineering. However, model-driven engineering has largely been unachieved in complex dynamical systems and netcentric SoS, partly because modeling and simulation (M&S) frameworks are stove-piped and not designed for SoS composability. Addressing this gap, Netcentric System of Systems Engineering with DEVS Unified Process presents a methodology for realizing the model-driven engineering vision and netcentric SoS using DEVS Unified Process (DUNIP). The authors draw on their experience with Discrete Event Systems Specification (DEVS) formalism, System Entity Structure (SES) theory, and applying model-driven engineering in the context of a netcentric SoS. They describe formal model-driven engineering methods for netcentric M&S using standards-based approaches to develop and test complex dynamic models with DUNIP. The book is organized into five sections: Section I introduces undergraduate students and novices to the world of DEVS. It covers systems and SoS M&S as well as DEVS formalism, software, modeling language, and DUNIP. It also assesses DUNIP with the requirements of the Department of Defense's (DoD) Open Unified Technical Framework (OpenUTF) for netcentric Test and Evaluation (T&E). Section II delves into M&S-based systems engineering for graduate students, advanced practitioners, and industry professionals. It provides methodologies to apply M&S principles to SoS design and reviews the development of executable architectures based on a framework such as the Department of Defense Architecture Framework (DoDAF). It also describes an approach for building netcentric knowledge-based contingency-driven systems. Section III guides graduate students, advanced DEVS users, and industry professionals who are interested in building DEVS virtual machines and netcentric SoS. It discusses modeling standardization, the deployment of models and simulators in a netcentric environment, event-driven architectures, and more. Section IV explores real-world case studies that realize many of the concepts defined in the previous chapters. Section V outlines the next steps and looks at how the modeling of netcentric complex adaptive systems can be attempted using DEVS concepts. It touches on the boundaries of DEVS formalism and the future work needed to utilize advanced concepts like weak and strong emergence, self-organization, scale-free systems, run-time modularity, and event interoperability. This groundbreaking work details how DUNIP offers a well-structured, platform-independent methodology for the modeling and simulation of netcentric system of systems.
As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company's structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined. In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise. This book is ideal for: Software architects and senior developers looking to shape the company's technology direction or assist in an organizational transformation Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works IT managers who want to learn what's worked and what hasn't in large-scale transformation
OCUP 2 Certification Guide: Preparing for the OMG Certified UML 2.5 Professional 2 Foundation Exam both teaches UML (R) 2.5 and prepares candidates to become certified. UML (R) (Unified Modeling Language) is the most popular graphical language used by software analysts, designers, and developers to model, visualize, communicate, test, and document systems under development. UML (R) 2.5 has recently been released, and with it a new certification program for practitioners to enhance their current or future career opportunities. There are three exam levels: Foundation, Intermediate, and Advanced. The exam covered in this book, Foundation, is a prerequisite for the higher levels. Author Michael Jesse Chonoles is a lead participant in the current OCUP 2 program-not only in writing and reviewing all the questions, but also in designing the goals of the program. This book distills his experience in modeling, mentoring, and training. Because UML (R) is a sophisticated language, with 13 diagram types, capable of modeling any type of modern software system, it takes users some time to become proficient. This effective resource will explain the material in the Foundation exam and includes many practice questions for the candidate, including sample problems similar to those found in the exam, and detailed explanations of why correct answers are correct and why wrong answers are wrong.
Turn Vim into a full-blown development environment using Vim 8's new features and this sequel to the beloved bestseller Practical Vim. Integrate your editor with tools for building, testing, linting, indexing, and searching your codebase. Discover the future of Vim with Neovim: a fork of Vim that includes a built-in terminal emulator that will transform your workflow. Whether you choose to switch to Neovim or stick with Vim 8, you'll be a better developer. A serious tool for programmers and web developers, no other text editor comes close to Vim for speed and efficiency. Make Vim the centerpiece of a Unix-based IDE as you discover new ways to work with Vim 8 and Neovim in more than 20 hands-on tips. Execute tasks asynchronously, allowing you to continue in Vim while linting, grepping, building a project, or running a test suite. Install plugins to be loaded on startup - or on-demand when you need them - with Vim 8's new package support. Save and restore sessions, enabling you to quit Vim and restart again while preserving your window layout and undo history. Use Neovim as a drop-in replacement for Vim - it supports all of the features Vim 8 offers and more, including an integrated terminal that lets you quickly perform interactive commands. And if you enjoy using tmux and Vim together, you'll love Neovim's terminal emulator, which lets you run an interactive shell in a buffer. The terminal buffers fit naturally with Vim's split windows, and you can use Normal mode commands to scroll, search, copy, and paste. On top of all that: Neovim's terminal buffers are scriptable. With Vim at the core of your development environment, you'll become a faster and more efficient developer. What You Need: You'll need a Unix-based environment and an up-to-date release of Vim (8.0 or newer). For the tips about running a terminal emulator, you'll need to install Neovim.
"Helps explain some of the knowledge gaps between enthusiastic new graduates and grouchy old gray beards like myself." - Joe Ivans Practical techniques for writing code that is robust, reliable, and easy for team members to understand and adapt. Good code or bad code? The difference often comes down to how you apply the conventions, style guides, and other established practices of the software development community. In Good Code, Bad Code you'll learn how to boost your effectiveness and productivity with code development insights normally only learned through years of experience, careful mentorship, and hundreds of code reviews. In Good Code, Bad Code you'll learn how to: - Think about code like an effective software engineer - Write functions that read like a well-structured sentence - Ensure code is reliable and bug free - Effectively unit test code - Identify code that can cause problems and improve it - Write code that is reusable and adaptable to new requirements - Improve your medium and long-term productivity - Save you and your team's time about the technology Coding in a development team requires very different skills to working on personal projects. Successful software engineers need to ensure that their code is reusable, maintainable, and easy for others to understand and adapt. about the book Good Code, Bad Code is a shortcut guide to writing high-quality code. Your mentor is Google veteran Tom Long, who lays out lessons and mindsets that will take your code from "junior developer" to "senior engineer." This instantly-useful book distils the principles of professional coding into one comprehensive and hands-on beginner's guide. You'll start with a jargon-free primer to coding fundamentals that teaches you to think about abstractions, consider your fellow engineers, and write code that can recover from errors. Next, you'll dive into specific techniques and practices. You'll run through common coding practices to learn when to apply the right technique to your problem-and which might be best avoided! All practices are illustrated with annotated code samples written in an instantly recognizable pseudocode that you can relate to your favourite object-oriented language. By the time you're done, you'll be writing the kind of readable, reusable, and testable code that's the mark of a true software professional. about the reader For coders looking to improve their experience in professional software development. about the author Tom Long is a software engineer at Google. He works as a tech lead, mentoring and teaching professional coding practices to new graduates and beginner software engineers. |
You may like...
Research Anthology on Strategies for…
Information R Management Association
Hardcover
R13,719
Discovery Miles 137 190
Virtual and Augmented Reality…
Information Reso Management Association
Hardcover
R9,439
Discovery Miles 94 390
|