Here is a small e-Book for your attention: The Ultimate Question of Programming, Refactoring, and Everything. This book is intended for C/C++ programmers, but it could be of interest for developers using other languages as well.

What makes the book peculiar is the descriptions of real, not theoretical cases at the base of it. Each chapter starts with a code fragment taken from a real application, and then the author gives various tips of how this bug could be avoided. The questions touched upon in this book can help the readers improve the personal coding style and the coding standards used in the team.

The book covers 42 topics. In spite of the simple titles of the chapters, the bugs found are really various and non-standard. In addition to that, the text provides a lot of links to interesting materials that give more details on topics. To make more use of this book, please don’t hurry and go to the links provided.

1. Don't do the compiler's job
2. Larger than 0 does not mean 1
3. Copy once, check twice
4. Beware of the ?: operator and enclose it in parentheses
5. Use available tools to analyze your code
6. Check all the fragments where a pointer is explicitly cast to integer types
7. Do not call the alloca() function inside loops
8. Remember that an exception in the destructor is dangerous.
9. Use the '\0' literal for the terminal null character
10. Avoid using multiple small #ifdef blocks
11. Don't try to squeeze as many operations as possible in one line
12. When using Copy-Paste, be especially careful with the last lines
13. Table-style formatting
14. A good compiler and coding style aren't always enough
15. Start using enum class in your code, if possible
16. "Look what I can do!" - Unacceptable in programming
17. Use dedicated functions to clear private data
18. The knowledge you have, working with one language isn't always applicable to another language
19. How to properly call one constructor from another
20. The End-of-file (EOF) check may not be enough
21. Check that the end-of-file character is reached correctly (EOF)
22. Do not use #pragma warning(default:X)
23. Evaluate the string literal length automatically
24. Override and final identifiers should become your new friends.
25. Do not compare 'this' to nullptr anymore
26. Insidious VARIANT_BOOL
27. Guileful BSTR strings
28. Avoid using a macro if you can use a simple function
29. Use a prefix increment operator (++i) in iterators instead of a postfix (i++) operator
30. Visual C++ and wprintf() function
31. In C and C++ arrays are not passed by value
32. Dangerous printf
33. Never dereference null pointers
34. Undefined behavior is closer than you think
35. Adding a new constant to enum don't forget to correct switch operators
36. If something strange is happening to your PC, check its memory.
37. Beware of the 'continue' operator inside do {...} while (...)
38. Use nullptr instead of NULL from now on
39. Why incorrect code works
40. Start using static code analysis
41. Avoid adding a new library to the project.
42. Don't use function names with "empty"

For those, who find reading PDF format more convenient:
Kate Milovidova 11 may 2016, 6:52

Microsoft Dynamics CRM – An Overview

Microsoft Dynamics CRM is a complete CRM software suite that covers all areas of customer service including sales and marketing. MS-Officeand Outlook are some of the commonly used office applications for word processing and emailing.

With MS Dynamics CRM software, customer data can easily be pulled in these office applications and you can even work within the familiar background of Microsoft Office or Outlook. The support for mobile devices and data access on the go, make life easier for sales and marketing executives.

The flexibility and comprehensiveness of Microsoft Dynamics CRM suite make it a popular CRM application development framework worldwide. Minimal configuration, familiar application environment, rich functionality, and a variety of deployment options are some of the features that ensure great ease of use and customization.
ethanmillar 4 april 2016, 7:41

When you bought the Windows Phone then your expectations are very high from it. It is a very different platform from android and iOS. Working on windows phone is very exciting for every new user.

But it is very disappointing if you don’t know how to use the windows phone. Using windows phone is much different from android and iOS. Functioning of Windows phone is very different.

Every user wants to take snapshot from their phone. Camera is available in the phone but it is used to take picture of outside activities. If you want to take picture of things inside your phone or wants to take picture of layouts inside your phone then snapshot is the only and easy way.
Pooja Solanki 8 december 2015, 10:07

CppCat is a static code analyzer integrating into the Visual Studio 2010-2013 environment. The analyzer is designed for regular use and allows detecting a large number of various errors and typos in programs written in C and C++. For the purpose of popularizing it, we've decided to launch a student-support program granting free licenses to every higher school student who will contact and ask us about that. You just need to send us a photo of your student card or transcript.
Andrey2008 21 november 2014, 14:24

The authors of the PVS-Studio analyzer invite you to test your attentiveness.

Code analyzers never get tired and can find errors a human's eye cannot easily notice. We have picked a few code fragments with errors revealed by PVS-Studio, all the fragments taken from well-known open-source projects.

We invite you to take part in a competition against code analyzers to test your agility by trying to find the errors by yourself. You will be offered 15 randomly selected tasks. Every correct answer earns you one score if you give it within 60 seconds. The code fragments are short and 60 seconds is a fair limit.

Let's examine a couple of examples with errors for you to understand how to give the answer.

Andrey2008 18 september 2014, 16:15

OutsourcingAs you know, our main activity is development of the code analyzers PVS-Studio and CppCat. Although we have been doing this for a long time now and - as we believe - quite successfully, an unusual idea struck us recently. You see, we do not use our own tools in exactly the same way our customers do. Well, we analyze the code of PVS-Studio by PVS-Studio of course, but, honestly, the PVS-Studio project is far from large. Also, the manner of working with PVS-Studio's code is different from that of working with Chromium's or LLVM's code, for example.

We felt like putting ourselves in our customers' shoes to see how our tool is used in long-term projects. You see, project checks we regularly do and report about in our numerous articles are done just the way we would never want our analyzer to be used. Running the tool on a project once, fixing a bunch of bugs, and repeating it all again just one year later is totally incorrect. The routine of coding implies that the analyzer ought to be used regularly - daily.

OK, what's the purpose of all that talk? Our theoretical wishes about trying ourselves in third-party projects have coincided with practical opportunities we started to be offered not so long ago. Last year we decided to allocate a separate team in our company to take up - ugh! - outsourcing; that is, take part in third-party projects as a developer team. Moreover, we were interested in long-term and rather large projects, i.e. requiring not less than 2-3 developers and not less than 6 months of development. We had two goals to accomplish:
  • try an alternative kind of business (custom development as opposed to own product development);
  • see with our own eyes how PVS-Studio is used in long-term projects.
We have successfully solved both tasks. But this article is not about the outsourcing business; it is about our experience. We don't mean the organizational experience - there are plenty of articles about that. We mean the experience of working with the code of third-party projects. This is what we want to tell you about.
Andrey2008 23 june 2014, 6:52

Google Company has announced new 7-inch tablet for developers, but now it is the part of Tango project. If Asus Nexus is generally familiar tablet, then Tablet Development Kit is a true vundervafli with price $1024, which cannot be bought by everyone, it is not because of the price.

xially 8 june 2014, 12:20


Recently, NASA and ESA published to the public fascinating photo of visible part of the universe. Source is Hubble Ultra Deep Field. On the photo, you can count 10 thousand galaxies and even more stars. It should be noted that you can see a lot of points with different colors. These are galaxies too.
Pirat 5 june 2014, 8:27


Yesterday Google announced 64-bit version of Chrome. If you want to get one, you have to choose between Dev Channel and Canary channel for Windows 7 and 8 users.

I dare to suppose, that 64-bits builds of browser soon or later will be moved to the beta stage.
According to the developers, new version of Chrome is about 25% faster than the regular one. Furthermore, browser supports some features of Windows 8, for example High Entropy ASLR, which makes browse just a little bit safer.
Skull 4 june 2014, 13:13

I have studied numbers of errors caused by using the Copy-Pate method and can assure you that programmers most often tend to make mistakes in the last fragment of a homogeneous code block. I have never seen this phenomenon described in books on programming, so I decided to write about it myself. I called it the "last line effect".

Andrey2008 2 june 2014, 6:03
1 2 3 4 5 ...