background preloader

Signs that you're a bad programmer - Software Engineering Tips

Signs that you're a bad programmer - Software Engineering Tips
Why was this written? Most of these faults were discovered the hard way by the author himself, either because he committed them himself or saw them in the work of others. This paper is not meant for grading programmers, it was intended to be read by programmers who trust their ability to judge when something is a sign of bad practice, and when it's a consequence of special circumstances. This paper was written to force its author to think, and published because he thinks you lot would probably get a kick out of it, too. 1. Reasoning about code means being able to follow the execution path ("running the program in your head") while knowing what the goal of the code is. Symptoms Remedies To get over this deficiency a programmer can practice by using the IDE's own debugger as an aide, if it has the ability to step through the code one line at a time. 2. Object Oriented Programming is an example of a language model, as is Functional or Declarative programming. 3. 4. 5. 6. 1. 2. 3. 4. 5. Symptoms

Signs that you're a good programmer - Software Engineering Tips The most frequently viewed page on this site is Signs you're a bad programmer, which has also now been published on dead trees by Hacker Monthly, and I think that behoves me to write its antithesis. "Bad programmer" is also considered inflammatory by some who think I'm speaking down to them. Not so; it was personal catharsis from an author who exhibited many of those problems himself. And what I think made the article popular was the "remedies"--I didn't want someone to get depressed when they recognized themselves, I wanted to be constructive. Therefore if you think you're missing any of the qualities below, don't be offended. I didn't pick these up for a while, either, and many of them came from watching other programmers or reading their code. 1. The compiler and runtime can often answer a question faster than a human can. Symptoms How to acquire this trait Are you excessively cautious? Note: A programmer who "suggests wacky and unrealistic solutions" is not always a bad programmer. 2.

30 Best Room Pictures of the Week - June 02st to June 08th, 2012 1. I really love this pool 2. Kohler Waterfall Shower 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 1900 Inn on Montford in Asheville, North Carolina 23. 24. 25. 26. 27. 28. 29. 30. Singleton Pattern - Web Tutorials - avajava.com Singleton Pattern Author: Deron Eriksson Description: This Java tutorial describes the singleton pattern, a popular creational design pattern. Tutorial created using: Windows Vista || JDK 1.6.0_11 || Eclipse JEE Ganymede SR1 (Eclipse 3.4.1) A singleton is a class that is instantiated only once. This is typically accomplished by creating a static field in the class representing the class. The SingletonExample class is an example of a typical singleton class. SingletonExample.java package com.cakes; public class SingletonExample { private static SingletonExample singletonExample = null; private SingletonExample() { } public static SingletonExample getInstance() { if (singletonExample == null) { singletonExample = new SingletonExample(); } return singletonExample; } public void sayHello() { System.out.println("Hello"); } } The Demo class obtains a SingletonExample singleton class via the call to the static SingletonExample.getInstance(). Demo.java

Extreme Programming Rules Planning User stories are written. Release planning creates the release schedule. Make frequent small releases. The project is divided into iterations. Iteration planning starts each iteration. Managing Give the team a dedicated open work space. Set a sustainable pace. A stand up meeting starts each day. The Project Velocity is measured. Move people around. Fix XP when it breaks. Designing Simplicity. Choose a system metaphor. Use CRC cards for design sessions. Create spike solutions to reduce risk. No functionality is added early. Refactor whenever and wherever possible.

My Top 100 Programming, Computer and Science Books: Part One I was recently interviewed by Fog Creek and one of the questions was about my favorite programming, coding and development books. I got very excited by this question as I'm a huge book nerd. And by a huge book nerd I mean I'm crazy about science, computer and programming books. Every few months I spend a day or two researching the latest literature and buying the most interesting titles. I could probably go on forever about my favorite books. I've so many. I was so excited about this question that I decided to start a new article series here on catonmat about my top 100 programming, software development, science, physics, mathematics and computer books. Here's my bookshelf just to prove my nerdiness: My super nerdy bookshelf. In the first post in the series I'll re-share the same five books that I recommended in my Fog Creek interview. Enough talking. #1 The New Turing Omnibus The New Turing Omnibus. A must read for anyone interested in computers. Author: Alexander K. Author: Allen B.

Don't Call Yourself A Programmer, And Other Career Advice If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity. It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering. This post aspires to be README.txt for your career as a young engineer. 90% of programming jobs are in creating Line of Business software: Economics 101: the price for anything (including you) is a function of the supply of it and demand for it. There are companies which create software which actually gets used by customers, which describes almost everything that you probably think of when you think of software. Engineers are hired to create business value, not to program things: Businesses do things for irrational and political reasons all the time (see below), but in the main they converge on doing things which increase revenue or reduce costs. Do Java programmers make more money than .NET programmers? “Read ad. Wrong question.

Dead Sea Scrolls: The Boston exhibit lets visitors see one of the greatest treasures of the modern era A Bedouin goat herder was merely chasing after a stray when he stumbled into a cave and discovered one of the greatest treasure-finds of the modern era. The ancient manuscripts inscribed in Hebrew dialects that he discovered rolled inside clay pots became known as the Dead Sea Scrolls, currently the oldest existing biblical manuscripts since they date from between 150 B.C. and 70 C.E. Now one of the largest public displays of the Dead Sea Scrolls ever is the centerpiece of an exhibit at Boston’s Museum of Science titled “Dead Sea Scrolls: Life in Ancient Times.” “We are thrilled to bring this world treasure to Boston for the first time,” said Paul Fontaine, Museum of Science vice president of education. The Dead Sea Scrolls contain biblical text found in the Hebrew Bible, or Old Testament, in addition to other books not included in the canon such as the Book of Enoch, the Book of Jubilees, and the Testament of Levi. The majority of the scrolls are nonreligious, Dr. And they found one.

Scripting Languages: PHP, Perl, Python, Ruby, Smalltalk a side-by-side reference sheet sheet one: version | grammar and execution | variables and expressions | arithmetic and logic | strings | regexes | dates and time | arrays | dictionaries | functions | execution control | exceptions | threads sheet two: streams | asynchronous events | files | file formats | directories | processes and environment | option parsing | libraries and namespaces | objects | inheritance and polymorphism | reflection | net and web | gui | databases | unit tests | logging | debugging sheet two: streams | asynchronous events | files | directories | processes and environment | option parsing | libraries and namespaces | objects | inheritance and polymorphism | reflection | net and web | gui | databases | unit tests | logging | debugging version used The versions used for testing code in the reference sheet. show version How to get the version. php: The function phpversion() will return the version number as a string. python: import platform platform.python_version() ruby: <? pad

Invent Your Own Computer Games with Python - Chapters Chapter 1 Read online: Chapter 1 - Installing Python Videos: Chapter 2 Read online: Chapter 2 - The Interactive Shell Chapter 3 Read online: Chapter 3 - Strings Download source: hello.py Copy source to clipboard: Use the online diff tool to find typos in your code: hello.py Chapter 4 Read online: Chapter 4 - Guess the Number Download source: guess.py Use the online diff tool to find typos in your code: guess.py Chapter 5 Read online: Chapter 5 - Jokes Download source: jokes.py Use the online diff tool to find typos in your code: jokes.py Chapter 6 Read online: Chapter 6 - Dragon Realm Download source: dragon.py Use the online diff tool to find typos in your code: dragon.py Chapter 7 Read online: Chapter 7 - Using the Debugger Chapter 8 Read online: Chapter 8 - Flow Charts Chapter 9 Read online: Chapter 9 - Hangman Download source: hangman.py Use the online diff tool to find typos in your code: hangman.py Chapter 10 Read online: Chapter 10 - Tic Tac Toe Download source: tictactoe.py Chapter 11 Download source: bagels.py

Related:  Interesting Readsprogramming