Many programmers know how to write correct code - code that works. But not all know how to craft great code - code that is well written and easy to understand. Code Craft teaches programmers how to move beyond writing correct code to writing great code. The book covers code writing concerns, including code presentation style, variable naming, error handling, and security; and the wider issues of programming in the real world, such as good teamwork, development processes, and documentation. Code Craft presents language-agnostic advice that is relevant to all developers, from an author with loads of practical experience. A Q&A section at the end of each chapter helps readers to review the material and makes the book suited for academic use as well.
This books contains many useful practices to be a good programmers. A little too verbose for my taste. I moved fast through the main points to get the general ideas. Probably useful as a reference when you write code.
Интересная книга. Пит Гудлиф попытался объять необъятное в данной книге. Начиная с простых вещей такие как написание комментария, заканчивая проектированием и управлением проектом. Цель книги передать весь процесс "ремесла программиста", я думаю, книге это удалось. Книга зависит от уровня подготовки программиста, если вы опытный программист, я думаю, последние несколько глав будут для вас более интересны, но они только приоткрывают занавес о том, что такое планирование разработки, как управлять сложностью разработки ПО. Первые несколько глав, я думаю, не будут особенно интересны разработчикам, которые используют инструменты в настоящем времени, так как инструменты, которые Пит упоминает уже достаточно устарели и на самом деле уже не нужны (Subversion, CVS и тп).
Характер повестования книги является самой сильной стороной книги. Каждая глава разделена на несколько частей, в начале каждой главы указана цитата, которая задает настроение всей главе, далее идут важные сноски в виде важных исторических фактов или реальных примеров из индустрии. Несмотря на колоссальный размер книги, ни одна глава не читается как сухой материал. В сравнении с Code Complete, данная книга читается более увлекательно, но и соответственно менее глубоко покрывает некоторые темы разработки ПО. Важно упомянуть искреннее желание Пита в попытке передать свой опыт начинающим программистам, в конце каждой главы есть иллюстрация, которая помогает ещё лучше понять концепты описанные в главе, а также сравнение плохого программиста и хорошего. Самое важное в книге было для меня - контрольные вопросы, я думаю это истинный показатель насколько автор пытается передать и научить материалу. Превосходная работа от Пита!
Мне кажется вариант прочтения это книги от корки до корки слишком тяжеловесен. Данная книга разделённая на 2-3 тематические книги дали бы намного больше эффекта для пользователей. Тем не менее, прекрасная книга для среднего уровня программистов (я). При прочтении у меня уже есть какой-то опыт разработки, о котором говорит Пит, но и уже есть жажда изучит большее.
Initialize variables when you define them Make as many variables as you can Constants because it prevents you from modify data that is off limit. Good codeers think carefully abot the code they write as they write it Avoid data, object, value and type in naming, dont use temp unless you really need it Be varey of names that sound similar When naming balance length, clearity, context Intead of IStylable If a value cant be negative use a unsigned int Never set variables to a numer use constant same goes for strings Set public methods before private methods Add a header wite a description of the class Purpose: clear cache Add purpose to the method commenting Dont return nonsensicall error, present the errer in its contex Set you ide commen text to green to accosiate positivness with comments When writing comments ask why, not how Work enough not hard Breakwater comments are good to navigate around code //xxx indicade kludge Use assertion functions to determin if inputdata to ensure you have been given correct and consistent data. Check all input from external sources for validity before use STrive for Sese single entry single exit Use try catch when checking for error in run code Tuple is when you return an object wide data and error message Code metrics: A high cyclomatic complexity implies that the code is uninteligable and considering the amount of decision points and potental flow of control
Con Negative attitude to code, Way to long and repetive Advices contridict each other Just another feel good book that actually dont make you feel good
Pro first 200 pages is ok, rest is just summay from other books and doesnt say anythimg new
It is a book with much more relevant content than "the pragmatic programmer", from the point of view that it gives a much more human approach to the programmer's activity.
It has chapters dedicated to how to deal with certain human profiles, as the guru, the fresh programmer, discusses how to induce the position to people who have just started, where to be careful so that people do not feel frustrated.
From a technical point of view, it touches on interesting topics, such as how different architectures influence your way of programming. The book is easy to read and has a great mood. For example, he raises punishments like "30 lashes with a wet noodle."
Then he discusses how to approach projects that have "high performance" as a requirement, and the price that is paid for writing code that is highly performant.
Something to highlight: at the end of each chapter there is a questionnaire divided into 2 parts, the first to see if you understood the ideas, and the second part called "getting personal", which raises introspection exercises to see if you have vices to avoid.
Another interesting thing, it is not necessary to read the book from cover to cover, you can use it as reference material to solve specific problems, such as when you have doubts about how to face code reviews or if you have a conflict with someone at work or with the project where you're.
I strongly recommend reading it in print. Checking the solutions of the questionnaires at the end of each chapter is very uncomfortable in kindle format.
Not so insightful that you're likely to learn anything; not so boring that you won't be able to finish. A lot of people are seriously into this completely true and pretty decent book about good programming habits, beginning software design, and anecdotal forays into corporate ITdom.
You might like it, somehow. Who knows, I may have passed by some real gems hiding in between the lines. I don't want to leap to the conclusion that it's pedestrian; if I knew any young people who were leaning into programming, I would immediately pick this one up for them. I mean, it's perfect.
Ohhhhhhh...
I just realized I wrote a pretty middling review about a book that nowhere explicitly stated that it was intended for pre-academic coders, and is a perfect and natural fit for that audience. Even the cover connotes young adulthood with its superglue and plastic model sprue. I'm upping my review to four stars and recommending this enthusiastically to anyone 10-20 with no academic or professional software experience. Hooray for that!
I think I read this my Sophomore year as a CompSci major and at the time I thought it was amazing. Thumbing through it the other day it seems like common sense knowledge that every software developer should know, with some humorous fluff tossed in to make reading about Software Engineering and Development as interesting as it could realistically be. I would recommend this to any younger programmers (high school, early undergrad) but don't expect to get much out of it if you've been in the trenches for a while.
I think this is the book I wanted when I read Code Complete instead. Some of the chapters involve egg-sucking lessons but the questions at the end of each chapter make for good reflective or group chat exercises.
Code Craft teaches programmers how to move beyond writing correct code to writing great code. The book covers code writing concerns, including code presentation style, variable naming, error handling, and security; and the wider issues of programming in the real world, such as good teamwork, development processes, and documentation. Code Craft presents language-agnostic advice that is relevant to all developers, from an author with loads of practical experience.