Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #13762
| From | Jan Burse <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: terminology |
| Date | 2012-04-21 23:50 +0200 |
| Organization | albasani.net |
| Message-ID | <jmva3r$ltn$1@news.albasani.net> (permalink) |
| References | <terminology-20120420003700@ram.dialup.fu-berlin.de> |
Stefan Ram schrieb: > context sentence > .------------------. .------------. > java.lang.Thread . dumpStack() > java.lang.System.out . print ( 2 ) > '-------' > verb > '------------------------------' > not a verb, because of dots > '-----------------------------------' > not a sentence, because of dots Hi, If you are up at applying linguistic categories to parts of Java programs, then the most successful approach would be: +---------------- Sentence ----------------+ | | java.lang.System.out . print ( 2 ) | | | | +---- Subject -------+- Verb ---+- Object -+ This would make an English speaking person very much at home, since English is typicall a SVO language. A German speaking person can less relate to this pattern, since his languages is judged a SOV language. But libraries and applications, the classes and methods they defined, the names that are used, need not match the categories of some known natural languages. Natural language verbs might have implicit arguments which need to be made explicit in code, which goes beyond a "this". Nevertheless the SOV view of a code can be very useful for problem analysis. Especially on a higher level. This is best viewed by the CRC method. The classes are the subjects/actors you name it. The resposibilities are the verbs/ steps you name it. The collaborators are some objects/other actors you name it. CRC cards can be elicidated by a simple role play: - Take a group of people that are about to execute a sequential use case and a ball. Give the ball to the first member of the group. - The member of the group who has the ball should say his role and what step he is performing, and hand the ball to an appropriate next member of the group. - Write a prose flow chart of the session, this is your use case. Let the members of the group take notes of their steps and collaborates, this is the component design. I had once an idea to elaborate concurrent interaction protocols by using multiple balls, but had never the chance to do this in real life. Maybe would end in battle ball... http://en.wikipedia.org/wiki/Subject%E2%80%93verb%E2%80%93object http://en.wikipedia.org/wiki/Class-responsibility-collaboration_card
Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread
Re: terminology Jan Burse <janburse@fastmail.fm> - 2012-04-21 23:50 +0200 Re: terminology Jan Burse <janburse@fastmail.fm> - 2012-04-21 23:57 +0200
csiph-web