Project 1 Review
Bundle Content
· Good
REPORT file
· Very good description overall but maybe a bit too detailed right away. It would have been good to have a first high-level description explaining the different phases of your program, then followed by more under the hood details on each of these phases.
·
Makefile
· Should write in a more generic way like
· CC = gcc
· AR = ar
· lib-objs := uthread.o context.o preempt.o queue.o
· %.a: $(lib-objs)
· $(AR) rcs $@ $^
·
· %.o: %.c
· $(CC) $(CFLAGS) $(INCLUDE) -c -o $@ $< $(DEPFLAGS)
Queue implementation and test
· Good
Your queue testing is not complete enough. It should include
· enqueue/dequeue single items or multiple items
· tries every function of the API. Especially, in real testing you want to test some functions before other APIs really use it. For example, if you are using queue_length in your iterate function, you should test your queue_length is correct before testing iterate function.
· tries to see if their implementation is resistant to errors (e.g. giving NULL parameters instead of the proper objects)
Uthread implementation and test
· good
Coding style
· It’d be better to have some meaningful comments for each code block.
·