Forums Register Login

Passed 337/400

+Pie Number of slices to send: Send
Assignment: B&S
General Considerations (maximum = 100): 90
Documentation (maximum = 70): 69
O-O Design (maximum = 30): 30
GUI (maximum = 40): 24
Locking (maximum = 80): 44
Data store (maximum = 40): 40
Network server (maximum = 40): 40

Studying (books, tutorials): 3 months
Coding: 3 weeks
Waiting for results: 4 weeks (this long waiting is nightmare)
Source files: about 40files, around 300kb of source code
Used tools: eclipse, ant, checkstyle, locmetrics


General considerations:
I have no idea. Perhaps the project was big?, too many classes?, hard stuff for junior programmers? Coding standards?

Documentation:
I wrote many javadocs, and also some inline comments to explain 'hard parts'. Comments took about 2/5 of all source code.

O-O design:
I would give myself 25/30, because this was where I made most of mistakes. I broke sometimes "program to interface".

GUI:
I made a TabPane with 2 tabs. Search and book panel. Both had tables. One for specifying search criteria, one for search results. I saw a GUI from guy, who got 40/40 and I can't tell why is mine worse.

Locking:
I'm disappointed about Locking, because I made multiple tests, considered multiple situations (even the ones where 'classic' locking fails, see my thread on "3rd level of locking"). You can even spawn multiple threads with same cookie and can't get to inconsitent state. As I wrote in that thread, I didn't enforce locking prior to delete and I justified that in choices, perhaps that is the reason of point loss. Should thread calling lock(); lock(); be blocked forever?

I had a special lock object for every record. LockManager returned this object and methods in Data class synchronized on it.

Here is the simplified pseudo code:


lock, unlock, isLocked, delete, update always synchronized on object associated with that record, so only one thread could work with particular record at a time - and for whole duration of some operation.
I can't see how this can't be thread-safe.

I think, that it was thread-safe, and the reason of point loss is that, they expected to see some behavior, which I didn't provide, and even I had good reason for that, testing application couldn't know it. There are numerous foggy areas: e.g. "lock(); delete(); unlock(); bang!", "lock(); lock();",..

Data store:
It reads/writes file according to spec, I used hex editor to verify, that I have correct structure. I used spaces for tabbing data. My create method just inserted empty spaces, and then I called update :-).

Network server:
I registered one object to RMI registry: Contractor service - running as singleton and having only 3 methods: book, clearBooking and search. All locking took part on server side: lock(); operation(); unlock();.


All in all, I'm happy I made it.
(now focusing on SCWCD)
[ October 25, 2007: Message edited by: John Stone ]
+Pie Number of slices to send: Send
This is great! You did that fast! I'm going on 2 years on mine.
+Pie Number of slices to send: Send
 

Originally posted by Anne Crace:
This is great! You did that fast! I'm going on 2 years on mine.


There is a saying in my country, something like: "You can get further by walking slower." - I'm just not patient and I sacrified most of my free time.
+Pie Number of slices to send: Send
Hi John, i'm also wondered how you made the certification so fast. I took 1 year and 4 months (but seriously working harder 6 months), yes it's true, waiting for results is a nigthmare. I'm also focused in the SCWCD. Congratulations John.
+Pie Number of slices to send: Send
 

Originally posted by Gabriel Vargas:
Hi John, i'm also wondered how you made the certification so fast. I took 1 year and 4 months (but seriously working harder 6 months), yes it's true, waiting for results is a nigthmare. I'm also focused in the SCWCD. Congratulations John.


Thanks, as time goes I worry about the 44/80 curse less and less (but I'll be more carefull in real-life projects), and I'm focusing now more on hapiness.
+Pie Number of slices to send: Send
Congratz
You have done it in express time
+Pie Number of slices to send: Send
you pass that counts...

Congratulations!!!
+Pie Number of slices to send: Send
Congrats, John.
A sonic boom would certainly ruin a giant souffle. But this tiny ad would protect it:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1095 times.
Similar Threads
SCJD failed, help needed with locking!
B&S passed 344/400
URLyBird 1.2.1 Passed!
passed with 350/400
Passed SCJD
Is my lock mechanism correct ?
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 09:46:28.