Software Processes? How Bohring!


From the Journal of Defense Software Engineering – CrossTalk

http://www.stsc.hill.af.mil/

—David A. Cook, Ph.D.
Stephen F. Austin State University
cookda@sfasu.edu

A very interesting article on software processes—–

After 12 years in the software industry, I recently returned to
teaching. I enjoy it immensely, and especially enjoy teaching
the “Intro to Computer Science Principles.” I find it refreshing to
give students their first taste of computer science. I am always
amused by their initial first attempts at programming. Just like
watching a newborn calf take its first
teetering steps, watching a “new
mind” learn to write programs is
both rewarding and entertaining.
In my graduate courses, however,
I expect a somewhat higher standard.
I am pretty strict about expecting my
students to follow “good” programming
practices—good documentation,
readable code, etc. My standards
are pretty high, and once the students
learn what I expect, they eventually
see how clear, easy-to-read code
makes debugging and maintenance
easier (either that, or they humor me
until the end of the semester, after
grades have been assigned).
In a recent grad class, I was lecturing
on some subtle point of operating
systems. I was using Unix as an
example, and I had pulled up an
example of Unix network code from
a handy reference manual. As my
class was going over the example,
several of the students were shocked
by some of the “poor” code used in
the operating system. Poorly documented.
Bad variable names.
Heavens, even global variables! A
couple of the students pointed out
that I would have quickly given them
a grade of zero for writing code like
that.

For more , read http://www.stsc.hill.af.mil/crosstalk/2010/01/1001BackTalk.html
_______________________________________________________________________-


How Not to Write Code 
12days.c 
#include <stdio.h> 
main(t,_,a)char 
*a;{return!0<t?t<3?main(-79,- 
13,a+main(-87,1-_, 
main(- 
86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,mai 
n(-94,-27+t,a)&&t==2?_<13? 
main(2,_+1,”%s %d %d\n”):9:16:t<0?t<- 
72?main(_,t, 
“@n’+,#’/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+ 
,/w{%+,/w#q#n+,/#{l,+,/n{n+,/+#n+,/#\ 
;#q#n+,/+k#;*+,/’r :’d*’3,}{w+K 
w’K:’+}e#’;dq#’l \ 
q#’+d’K#!/+k#;q#’r}eKK#}w’r}eKK{nl]’/#; 
#q#n’){)#}w’){){nl]’/+#n’;d}rw’ i;# \ 
){nl]!/n{n#’; r{#w’r nc{nl]’/#{l,+’K 
{rw’ iK{;[{nl]’/w#q#n’wk nw’ \ 
iwk{KK{nl]!/w{%’l##w#’ i; 
:{nl]’/*{q#’ld;r’}{nlwb!/*de}’c \ 
;;{nl’- 
{}rw]’/+,}##’*}#nc,’,#nw]’/+kd’+e}+;#’r 
dq#w! nr’/ ‘) }+}{rl#’{n’ ‘)# \ 
}’+}##(!!/”) 
:t<-50?_==*a?putchar(31[a]):main(- 
65,_,a+1):main((*a==’/’)+t,_,a+1) 
:0<t?main(2,2,”%s”):*a==’/’||main(0,mai 
n(-61,*a, 
“!ek;dc i@bK’(q)- 
[w]*%n+r3#l,{}:\nuwloca-O;m 
.vpbks,fxntdCeghiry”),a+1);}.vpbks,fxnt 
dCeghiry”),a+1);}

		
Advertisements