Programming - Software Engineering The Practice of Programming phần 5

Sử dụng là khác nhau hơn so với các phiên bản C. mặc dù chỉ trong một cách nhỏ. Tùy thuộc vào trình biên dịch C + + phiên bản bất cứ nơi nào từ 40% đến bốn lần chậm hơn so với các phiên bản C trên một tập tin đầu vào lớn của dòng với khoảng 25 lĩnh vực trên mỗi dòng. | SECTION INTERFACE PRINCIPLES 103 Csvtest main test Csv class i n t mat n void string line Csv csv while ineCline 0 cout line line n for int i 0 i i cout field i i n return The usage is different than with the C version. though only in a minor way. Depending on the compiler the C version is anywhere from 40 percent to four times slower than the C version on a large input file of 30 000 lines with about 25 fields per line. As we saw when comparing versions of markov this variability is a reflection on library maturity. The C source program is about 20 percent shorter. Enhance the C implementation to overload subscripting with operator so that fields can be accessed as csv i . Exercise 4-6. Write a Java version of the CSV library then compare the three implementations for clarity. robustness and speed. Exercise 4-7. Repackage the C version of the CSV code as an STL iterator. Exercise 4-8. The C version permits multiple independent Csv instances to operate concurrently without interfering a benefit of encapsulating all the state in an object that can be instantiated multiple times. Modify the C version to achieve the same effect by replacing the global data structures with structures that are allocated and initialized by an explicit csvnew function. Interface Principles In the previous sections we were working out the details of an interface. which is the detailed boundary between code that provides a service and code that uses it. An interface defines what some body of code does for its users how the functions and perhaps data members can be used by the rest of the program. Our interface provides three functions-read a line get a field and return the number of fields-which are the only operations that can be To prosper. an interface must be well suited for its task-simple general. regular predictable robust-and it adapt gracefully as its users and its implementation 104 INTERFACES CHAPTER 4 change. Good interfaces follow a .

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.