Download - Programmer Productivity
![Page 1: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/1.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 1/18
Programmer Productivity
By Japneet Singh
![Page 2: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/2.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 2/18
Productivity
• Defined as amount of useful workperformed over time
•Productivity is relative
![Page 3: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/3.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 3/18
Problems related to Productivity
• Due to improvement in computer interfaceto make it easy to use, developersefficiency has reduced.
• The stuff which makes computers easier to use (like GUI) also acts as a hindranceto developers trying to get bestperformance out of computers.
![Page 4: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/4.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 4/18
Principles of Productivity
• Acceleration• Focus
• Automation• Canonicality
![Page 5: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/5.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 5/18
Acceleration
• Becoming more productive by speedingthings up.
•The less you interact with your computer,the faster you can go.
• Concentrate on essence, not on ceremony
![Page 6: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/6.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 6/18
Acceleration – Launching
• Launching Pad : Usefulness of applicationlist is inversally proportional to its length – Launchers
• Example : Launchy
– Create a Windows launching pad
![Page 7: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/7.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 7/18
Acceleration – Accelerators
• Accelerators : Typing is faster than mousing – Operating System Accelerators
• Windows address bar • Windows shortcuts
– Clipboard(s) : Context switching eats time• For clipboarding in batches use clipboard stacks.• Example : CLCL
– Command history
• F8 for matching executed command search• F7 for executed command list
– Command prompt Explorer bar – “Open Command Window Here” Power Toy
![Page 8: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/8.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 8/18
Acceleration – Accelerators contd.
• Development Accelerators : Coding is text based activity. Prefer keyboard over mouse – Full screen mode in Visual Studio :
Alt+Shift+Enter – Visual Studio Keyboard shortcuts : Learn
keyboard shortcuts in context, not by reading long lists
– Code snippets• Macro Recorders
![Page 9: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/9.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 9/18
Focus
• Improve productivity by reducing clutter of environment and avoiding needless distractions
• The higher the level of concentration, thedenser the ideas
![Page 10: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/10.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 10/18
Focus – Block distractions
• Block audible distractions in your environment by listening to music usinghead phones
• Block visual distractions like E-mailnotifications, needless notifications likeballoon tips (using Tweak UI Power Toy).
• “Black out” the background :JediConcentrate• Create Quite Time
![Page 11: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/11.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 11/18
Focus - Search
• The bigger the haystack, the harder it is tofind the needle
• Use Search software to search filesystem – Example : Google Desktop Search
• Use regular expression searching featureof Visual Studio
![Page 12: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/12.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 12/18
Focus – File System Explorer
• Use rooted views – explorer /e,/root,[DirPath]
•Explorer alternatives• Use project-based shortcuts
![Page 13: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/13.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 13/18
Focus – Desktop
• Segregate your Workspace with VirtualDesktops
![Page 14: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/14.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 14/18
Automation
• Making your computer do more work for you
• Computers are designed to performsimple repetitive tasks over and over reallyfast. But, people are performing simple,repetitive tasks by hand on computers.
![Page 15: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/15.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 15/18
Automation
• Batch Files• Scripting
• Windows Power Shell• Use Selenium to walk web pages
![Page 16: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/16.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 16/18
To automate or not to automate
• Justifying automation is about return oninvestment and risk mitigation
• Ask following questions: – Will it save time in long run? – Is it prone to errors and therefore will take
time to bring it to stable state?
– Does it destroy focus? – What is the hazard of doing it wrong?• Don’t shave yaks
![Page 17: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/17.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 17/18
Canonicality
• Canonicality refers to practice of removingduplication.
• Remove duplication of information andcreate single source of information
• A canonical representation refers tosimplest form without loss of information.
![Page 18: Programmer Productivity](https://reader037.vdocument.in/reader037/viewer/2022100515/577dac631a28ab223f8dc27e/html5/thumbnails/18.jpg)
8/14/2019 Programmer Productivity
http://slidepdf.com/reader/full/programmer-productivity 18/18
Focus
• Version Control - Everything required tobuild project should reside in VersionControl (including binaries).
• Build machine – Canonical build machineshould not include development tools youuse to create the project, only the librariesand other frameworks needed to build theapplication.