Главная Статьи Ссылки Скачать Скриншоты Юмор Почитать Цитаты Tools Mac OS X Проекты Обо мне Мысли Гостевая |
1. Care about your craft. |
Если вы пишите программы, то пишите хорошие программы (плохих и без вас уже более чем достаточно). |
2. Think! About your work. |
Это как в известном анекдоте - "Штрилиц подумал. Ему это понравилось и он решил подумать еще раз". Делайте это все время работы над программами и вам это тоже понравится. Да и программы будут получаться лучше :)) |
3. Provide options, don't make lame excuses. |
|
4. Don't live with broken windows. |
|
5. Be catalyst for change. |
6. Remember the big picture. |
7. Make quality a requirements issue. |
8. Invest regularly in your knowlodge portfolio. |
9. Critically analyze what you read and hear. |
10. It's both what you and how you say it. |
11. DRY - Don't Repeat Yourself. |
12. Make it easy to reuse. |
13. Eliminate effects between unrelated things. |
14. There are no final desicions (everything should be reversible). |
15. Use trace bullets to find your target. |
16. Prototype to learn |
17. Program close to problem domain. |
18. Estimate to avoid surprises. |
19. Iterate the schedule with the code. |
20. Keep knowledge in plain text. |
21. Use the power of command shell. |
22. Use a single editor well. |
23. Allways use source control. |
24. Fix the problem, not the blame. |
25. (First Rule of Debugging) Don't Panick. |
26. Select isn't broken. |
27. Don't assume, prove it. |
28. Learn a text-manipulation language. |
29. Write code that writes code. |
30. You can't write perfect software. |
31. Design with contract. |
32. Crash early. |
33. If this cannot happen, use assertions to ensure it won't. |
34. Use execptions for exceptional problems. |
35. Finish what you start. |
36. Minimize coupling between modules. |
37. Configure, don't integrate. |
38. Put abstractions in code, details in metadata. |
39. Analyze workflow to improve concurrency. |
40. Design using services. |
41. Allways design for concurrency. |
42. Separate views from models. |
43. Use blackboards to coordinate workflow. |
44. Don't program by coinsidence. |
45. Estimate the order of your algorithm. |
46. Test your estimates. |
47. Refactor early, refactor often. |
48. Design to test (contract). |
49. Test your software or your users will. |
50. Don't use wizard code you don't understand. |
51. Don't gather requirements - dig for them. |
52. Work with a user to think like a user. |
53. Abstractions live longer than details. |
54. Use a project glossary. |
55. Don't think outside the box - find the box. |
56. Listen to nagging doubs - start when you;r ready. |
57. Some things are better done than described. |
58. Don't be a slave to formal methods. |
59. Expensive tools do not produce better results. |
60. Organize around functionality, not job functions. |
61. Don't use manual procedures - automate. |
62. Test early, test often, test automatically. |
63. Coding aren't done until tests run. |
64. Use saboteurs to test your testing. |
65. Test state coverage, not code coverage. |
66. Find bugs once (add new tests for found bugs). |
67. Treat english as just another programming language. |
68. Built document in, don't bolt it. |
69. Gently exceed your user's expectations. |
70. Sign your work. |