Это старая версия документа.


Эффективный программинг

Linux/bash

  • navigate with pushd <path>, popd
  • drag objects from Nautilus to terminal
  • use vars
    denis@denishp2-ub:/$ a='cd /etc'
    denis@denishp2-ub:/$ echo $a
    cd /etc
    denis@denishp2-ub:/$ $a
    denis@denishp2-ub:/etc$ 
  • use ~/.bash_aliases (create if doesn't exist)
    alias robo='cd ~/PrjEclipse/jroboplc'
  • use Groovy as alternative to bash
  • use Ruby as alternative to bash

Eclipse

  • use shortcuts list (Ctrl+Shift+L)
  • use Key Promoter plugin. Help-Install New Software → http://update.mousefeed.com/
  • cool shortcuts:
    Ctrl-Shift-T        Goto to class (use capitals)
    Ctrl-Shift-R        Goto to file
    Ctrl-O              Symbol list
    Ctrl-J              Incremental search
    Ctrl-E              Recently edited files
    Alt-Shift-L         Introduce variable
    Alt-Shift-Up        Escalating selection

Automation

Codewriting

  • plenty of short methods against few huge ones. Three lines of code for a method doesn't take much time to figure out what that method does. If you put lots of comments into your method it is a sign to split it up.
  • FindBugs - static analysis tool (java)
  • PMD - source analysis tool (java)
  • Panopticode - bunch of analysis tools (java)
  • Cuberture - static analysis (java/groovy)

Points

  • Prefer typing over mousing.
  • YAGNI - “YOU AIN’T GONNA NEED IT”
  • Don’t pay complexity tax unless you absolutely must.
  • Maximize work on essential complexity; kill accidental complexity.
  • Don’t pay complexity tax unless you absolutely must.
  • Keep knowledge as plain text

Books

  • «The Mythical Man-Month»
  • Hunt and Thomas’s «The Pragmatic Programmer» (Addison-Wesley)
  • Beck’s «Smalltalk Best Practice Patterns» (Prentice Hall)
dev/other/efficientprog.1328362761.txt.gz · Последние изменения: 2012/02/04 17:39 — jamis7005
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0