|
||||||||
Journal Entries, Week #9
Quick jump to: alio, beowulf, jamesmcd, jkdot, jsegars, lipinski, localguy, othello, rjmorgan, ryanaip, thewang, tjice, wrprice, swong. ----- ALIO
------------------------------------------------------------------------------------------- Status:
Looking Forward:
The code
freeze is off now. How would you improve the code review process? -----
BEOWULF -----------------------------------------------------------------------------------
Nice
journal. -----
JAMESMCD --------------------------------------------------------------------------------- Status of Milestone:
Analysis of Development Process:
Nice
journal. ----- JKDOT
---------------------------------------------------------------------------------------- Milestone: I put in time last week and at the start of this week
working on documentation of the MallManager GUI
code. This consisted of in-line
commenting. Ive also been thinking
ahead a little to the next round of user testing (on the functional version of
the code). I also met with Brain to work
on my code review for the Model group code. Gains Made: Gains included completing documentation of GUI code and
working on a code review of the ModelCode. Obstacles encountered: Personal scheduling issues this week prevented me from
starting my code review earlier. Also,
there was certain vagueness in the review guidelines. However, I got it figured out after talking
to the model group. I also realized that
I dont have as good a working knowledge of other peoples code as I
should. I just assume it works and dont
really think of looking at it to improve it.
I guess this is the point of this exercise. Exactly. Solutions proposed: I could be a little more involved
in code discussions (instead of staying in my own little world. I guess Ive distanced myself a bit because I
was focusing on a particular part of the application (and not worrying about
the guts). I need to worry about guts. Development Process: What seems to be working:
What doesnt seem to be working: I think we may be a little lost as to what will happen
next. While we are still trying to patch
things together, we should concentrate on a fully
functional application (its getting there!). Personally, I know that in the UI, we have a
good amount of work to do with making proposed features
a reality (watch list, chat, etc.). Now
that we have something working, we
have a better idea of what will actually be possible to accomplish. Proposal for change: Concentrate on the basics of what we promised to deliver and
then work to add the other features.
There still seem to be a lot of bugs in the system, but I think theyre
getting worked out. Some weird and
mysterious errors could be tasked to a couple of people for problem solving
I
dont know if this would expedite matters, though. Nice
journal. -----
JSEGARS
------------------------------------------------------------------------------------- Milestone: Code
Review Gains Made Gains made this week in the code review were two-fold. First, going back through old UI code to make sure that it was fully documented made us think about some approaches wed taken initially and kept us aware of areas where wed only hacked code to make it work for a certain case. These hacks need to be cleaned up in the next milestone before we move on to adding new functionality and forget about them. Gains were also made in general understanding of how the whole project fits together. I obviously had a good grasp on the UI code, and a decent understanding of what was going on with the model, but I really had no idea what AR was doing. Reviewing their code gave me a better idea of how it all fits together. Obstacles The biggest obstacle in the code review was my lack of knowledge of AR code. This was the first exposure Id had to their portion of the project or remoting in general so it took me a while to figure out what was going on. The high-level documentation they provided, however, was very helpful in gaining a general understanding of how the NetHub worked. Development Process What's Working I didnt actually do any new coding or work within the UI group so if theres any part of the development that is (or isnt working), its related to the code review. I do think the code review has been very helpful in allowing everyone to slow down from the I have to get this done for a milestone mentality and think about why were doing things they way we are. What's Not Working / Change As I stated above, I havent done any coding or other work within the UI group this week. Combining this with spring break last week, its been quite a while since weve really worked within the group or made progress on the UI. Hopefully, things will be fine when we start working next week but Im not positive that were all on the same page still. Nice
journal. -----
LIPINSKI
------------------------------------------------------------------------------------- Milestone:
· Review UI groups code. (%100) Gains Made: I was able to suggest alternative ways to code certain parts of the UI. The biggest suggestion would be in how the Wizards are set up. Obstacles Encountered: · Trying to understand how everything will eventually fit together when there are unimplemented items. Solutions Proposed: I suggest
changing how the wizards interact.
Currently the pages of the wizard just act as containers, and when the
wizard is finished the main wizard class gets their information and sets up the
factories. I suggest changing that so
that the panels of the wizard contain a method which sets a factory which is
handed to them. Development ProcessWhats Working: I think the code review is a great idea. By going through the code I was able to see what I, as a member of the model team, had to get done in order to get the UI into better shape. Also since I know how the model is setup, I could add insight into how the UI should be setup. Whats not Working: Hacks, poor documentation, and not treating unimplemented code as actual code. To Change: We need to start cracking down on documentation and good coding style. There were instances of classes, that while not in use currently, had horrid documenting and coding styles. This goes for everyone, not just the UI. Whenever we make a piece of code, no matter what its for we need to document, why its there, what it does etc. Nice
journal. -----
LOCALGUY
--------------------------------------------------------------------------------- Milestone:
Development Process:
Nice
journal. -----
OTHELLO
----------------------------------------------------------------------------------- ·
Milestone Status: o Gains:
Working on the CodeReview has been a change of
pace. Will reports
that the NetworkingHub is working now, so thats a
nice place to be at. I think having our
code reviewed is definitely a positive contribution to the design process. o Obstacles:
The obvious shortcomings this week are probably most caused by Willy Week (the
week that precedes BeerBike). Time is not really a huge commodity, and I
wish I had time to review the code more.
I also dont know what other suggestions are being made, and whether or
not I really feel that I productively contribute, as there are three other
students reviewing the same chunk of code.
I also encountered some difficulty finding the pertinent UI
documentation. o Proposed solution: Maybe we should find a more systematic way to organize
documentation, such as UML diagrams, ·
Development Process: o Whats working: Cancelling
lab was nice :-P Process-wise, I think it was nice to take a break from
development, and reassess how we got to where we are. o Whats not working: Maybe the code reviews
should have been done in pairs or grouped (all together). That way we can all generate a collaborative
summary. Either way, I regret not taking
the initiative to try to do something like that, it would have made me feel
better against making redundant observations.
On the other hand,
you dont want your views to be swayed by someone else. The review of the model code is an
interesting compromise of individual work and group consensus. o Proposals for change: (see above for part of the
proposal embedded in the not working part).
Either that, or we should have further
delegated responsibilities maybe one person assess the overall design, a couple
of people assess the actual implementation, etc. The lack of group leaders over the
code-review teams also made it easier for people to not take the lead in
organizing something collaborative. I
think, personally, that Im acclimated to having a group leader take the
initiative. Nice
journal. -----
RJMORGAN
-------------------------------------------------------------------------------- -----
RYANAIP ------------------------------------------------------------------------------------ Development StatusTheres not a lot to report this week, because of the code freeze. Ive spent some time thinking about whats next, and the things we talked about in class today in addition to the actual reviews of the model code should make it easy to figure out new taskings at the beginning of next week. I think that well have several people assigned to designing the concrete classes that were going to end up using new behaviors, attributes, etc. We also need to start integrating the AR groups new code for communications. I want to spend a little more time working on the factories It might be useful to incorporate some of the GUI into the people builders (basically making them self configuring). Ill talk to the UI group some and see what they think. Process AnalysisI think that having a code freeze was a good idea. Preparing for it forced us to clean up our code some, and it gave us time to look at the big picture of everything thats going on. Im actually very satisfied with how the code looks right now. I think that having people work on the code review as
individuals isnt the best idea. There
was so much code that I couldnt look into it in as much detail as Id have liked
too, simply because it would have taken too long to report everything. (And I was looking at the AR code, which is
the smallest piece.) For the next
review, I think we should have people go through the code in pairs and turn in
only one report per group. Then everyone
would still look over as much code, but wed have to spend less time reporting
what we found and could be more detailed in the portion of the report that we
did write. Nice
journal. -----
THEWANG
---------------------------------------------------------------------------------- Gains Made· I finally finished writing the code review for the UI group. I hope it helps. · Ive gotten a better understanding of how the UI was designed and how the model is supposed to interact with it. There are some things that I didnt know were expected of the model, so it was good to both get on the same page. · The oral code review in class was good to go over what we needed to get done and to see the status of the AR group as well. Obstacles Encountered·
Some of the UI groups code did not have much
documentation in it so it took a bit longer to figure out what it was
doing. Also, I didnt find a test
directory that ran all of the UIs wizards and such. It would be nice to be able to see the
wizards run. ·
Some of the code didnt seem to follow what I
originally thought it should do and others addressed issues I hadnt thought of
before. It was good in forcing
reevaluation of how certain aspects of the project were designed on both ends. Solutions Proposed· It seems like since this was a decently large amount of code to review and that the next code review (if we have one) would be even larger, perhaps each group should be broken down more. ·
This is probably too late, but we probably
should (have) adopted documentation or variable and method naming
conventions. Many of the UI variables
were not incredibly descriptive. Nice
observations, but a little too late to do any good. ----- TJICE
----------------------------------------------------------------------------------------- ·
Milestone Status: Gains: This week
was pretty much dedicated to making a code review for the AR Groups code. During the previous week gains were made in
rendering a full mall view and giving clients a layout from the mall server. o Obstacles: Aside from
normal coding obstacles, there were no truly huge obstacles aside from a
shorter week for me. Proposed solution: The proposed
solution this time is to just work as hard as I have been working. Everything else will be worked out. ·
Development Process: o
Whats working: Now a client gets its spaces layout
from the mall server. Once the client
connects with the server. The server
takes a proxy to the clients space and gives it a layout. A new class MallLayout
was created that has a series of objects that implement the ISpaceLayout
interface ( the layout of a space. ) The rendering interfaces were also
tweaked. There is also a full mall view
from the server application ( as expected. ) o
Whats not working: As of right now a client cannot ask
for a space specifically. The renderer does not render the simulation on a asynchronous clock yet.
And all of this functionality is based off of the old RemotingLib project, not the new NetHub
and NetworkingHubLib projects. o Proposals
for change: Having a space to have
a specific key in the MallLayout is one solution for
picking out a space out of a layout. Im leery of keyed approaches. Do you really need a key or would a reference
to the actual object work just as well?
The asynchronous clock is another issue here. First the refresh rate of the monitor for the
particular computer that the application is running on must be known. Then we
can have some incremental smooth interpolation of positions. But I have to look
at the Nice
journal. -----
WRPRICE
------------------------------------------------------------------------------------ Milestone (3b)
Status: Gains Made: Development
outside the code freeze has led to a working implementation of the NetHub architecture including pushing objects between two
machines, using two client processes and two hubs, one on each machine. It works! Yeah! J Obstacles Encountered: Remoting events were
still an issue (though now resolved, or so it seems). There are still issues regarding exception
handling, throwing, and all-around how to handle remoting
when it's not behaving exactly the way you want it to stuff, like closing
connections. Solutions Proposed: Now that the
system works, we need to go in and hammer out the details of how to possibly
close connections and also document where exceptions could occur and under what
circumstances these need to be handled by a custom exception hierarchy, which
needs to be created. Development
Process: What's
working: Code review is a good idea both because
it helps our code get better and it allows me to see what other groups have
been up to. When
we're engrossed in our own milestones, it's too easy to ignore code you don't
use. What's
NOT working: I found it difficult at times during my
code review of the Model group mainly because I really hadn't ever looked at their code before. I would have preferred (and asked for) high-level
documentation and overview or something
to accompany the code; I had UML diagrams and inline code comments, but nothing
that described how the entire system fit together. To understand the relationship of all the
object types and their structure I had to dig through code and see how things
were actually implemented this was frustrating. Not everyone knows what
they're looking at and this goes for pretty much every code review
group. If someone doesn't know which
classes are part of the .NET framework versus those
that we ourselves wrote, then they cannot provide an accurate code review
because they lack comprehension of what they're reviewing. This lack of knowledge leads to confusion on
the part of reviewers and inaccurate comments provided to the code owners. Proposed
Solutions: Perhaps future code review groups
should contain at least one (and probably no more than one) member who was
involved in writing the code to be reviewed; that way, questions can be
answered locally in the event of missing, misleading, or incorrect
documentation. Nice
journal. ----- SWONG
--------------------------------------------------------------------------------------- · Quality of documentation makes all the difference. · Keep your eyes on the prize remember what has to be done and dont waste time on side issues. · Remember we only have 5 weeks left. That means only one more milestone after this next one. · PocketPCs!!! Got to start coding for them! · People had some good ideas on how to make code reviewing more effective, particularly the suggestions involving a coach. This is essentially inter-team liaisons, which have been used quite effectively in other instances. |