THE BEST OF PERL
It's almost a certainty that you won't like all of the suggestions that follow if you're an experienced developer. Author Damian Conway has done an outstanding job of designing a book to help you write better Perl code. Conway begins by explaining why it might be worth reassessing your current coding practices. Next, the author tackles the many contentious issues of code layout. Then, he presents a series of guidelines that can help you choose more descriptive name for variables, subroutines, and namespaces. Conway continues by providing a simple set of rules that can help you avoid common pitfalls when creating character strings, numbers, and lists. In addition, the author next explores a robust approach to using variables. He also examines Perl's rich variety of control structures, encouraging the use of those that are easier to maintain, less error-prone, or more efficient. The author next suggests a series of techniques that can make documenting your code less tedious, and therefore more likely. Next, the author discusses better ways of using some of Perl's most popular built-in functions, including sort, reveres, scalar, eval, unpack, split, substr, values, select, sleep, map and grep. Conway continues by describing efficient and maintainable ways to write subroutines in Perl, including the use of positional, named, and optional arguments argument validation and defaults safe calling and return conventions predictable return values in various contexts and, why subroutine prototypes and implicit returns should be avoided. Next, he explains how to open and close files reliably when to use line-based input, how to correctly detect interactive applications the importance of prompting and, how best to provide feedback to users during long non-interactive tasks. Then, he offers advice on demystifying Perl's many dereferencing syn-taxes discusses why symbolic references create more problems than they solve and, recommends ways to prevent cyclic reference chains from causing memory leaks. The author next presents guidelines for using regular expressions. Then, he advocates a coherent exception-based approach to error handling, and explains why exceptions are preferable to special return values or flags. Next, he addresses the design and implementation of command-line interfaces, both for individual programs and for application suites. Conway continues by offering a robust and efficient approach to creating objects and class hierarchies in Perl. Next, he looks at non-object-oriented modules exploring the best ways to create them design their interfaces declare and check their version numbers and, refacter existing code into them. Then, he encourages the use of testing, advocating test-driven design and development using the core Test:: modules. Finally, he offers several additional guidelines on miscellaneous topics such as revision control interfacing to code written in other languages processing configuration files text formatting tied variables benchmarking and profiling your code caching techniques and, some general advice on refactoring. With the preceding in mind, the author has done an excellent job of designing a book that produces Perl code that is clear, robust, efficient, maintainable, and concise. At the end of the day, the guidelines in this book, much like Perl itself, are about helping you get your job done, without getting in the way.
Was this review helpful? Yes NoThank you for your feedback.
Report this reviewThank you, this review has been flagged.