Trước hết, xây dựng gia tăng qua SBT là khá tuyệt vời, thường trong phạm vi 1sec <. Tuy nhiên, đôi khi bạn phải làm sạch/biên dịch hoàn toàn, hoặc trong trường hợp xây dựng gia tăng, bạn thực hiện thay đổi thành một tệp sau đó kích hoạt việc biên soạn hàng tá tệp khác.Xây dựng chậm Scala: các phương pháp phát triển để tránh
Đây là thời điểm phát triển Scala trở nên ít ... vui vẻ, như suy thoái dẫn đến luồng công việc có thể khuyến khích bối cảnh chuyển đổi (kiểm tra thư điện tử, tất cả Bài Stackoverflow, vv), mà tinh tế làm cho con người kém năng suất
Vì vậy, , các cách tiếp cận phát triển cần tránh để cải thiện các bản dựng/biên dịch hoàn toàn là gì, và (lý tưởng), thay đổi-một-tập-mà-không-biên dịch lại-nửa-các ứng dụng xây dựng gia tăng?
Ví dụ tôi có thể nghĩ đến:
1) có tốt hơn khi có một tệp hàng nghìn nghìn dòng do-it-all hoặc một vài tệp được chia nhỏ không?
2) Tôi có thể có bánh (hoa văn) của tôi hoặc sẽ làm tăng thời gian xây dựng?
3) tôi có thể có mô hình thư viện pimp'd x, y, z hoặc tốt hơn để tìm một cách khác không?
4) là các đối tượng gói (với implicits) một kẻ giết thời gian xây dựng?
5) Các đối tượng lồng nhau và các đặc điểm?
6) phương pháp/thông số tiềm ẩn hoặc ngừng thông minh và rõ ràng?
Cụ thể, tôi đang nghĩ đến việc bỏ rơi một mẫu bánh DAO Tôi đã đưa ra và hợp nhất vào trường hợp ScalaQuery + đối tượng đồng hành + đặc điểm nhà cung cấp cơ sở dữ liệu tối thiểu. Điều đó một mình sẽ đổ 20 tập tin scala.
Ứng dụng đủ nhỏ (120 scala + 10 tệp java) để cấu trúc lại ngay bây giờ mà không gặp rắc rối quá nhiều. Rõ ràng là một ứng dụng scala phát triển, do đó cũng sẽ xây dựng thời gian, chỉ dựa trên LOC một mình. Tôi chỉ cố gắng để xem nơi để cắt giảm chất béo và nơi không bận tâm (tức là giữ mọi thứ như họ đang có) để ứng dụng hiện tại và tương lai được hưởng lợi từ sự biểu cảm mà scala dành mà không cần tăng thời gian xây dựng.
Cảm ơn một số ví dụ về trải nghiệm của bạn về những điều tốt đẹp, xấu, và xấu xí của sự phát triển của scala trong một thời gian dựng hình.
Thực ra, tôi tự hỏi tại sao bạn cần 'làm sạch' để thường làm phiền bạn? Có điều gì đó không ổn? Theo kinh nghiệm của tôi, 'sạch sẽ' rất hiếm khi cần thiết. Một trong những trường hợp là nếu bạn làm việc với một phụ thuộc snapshot và bạn cần phải cập nhật điều đó. Trong những trường hợp đó, tôi tìm thấy 'rm -r lib_managed/jars' và biên dịch tiếp theo nhanh hơn. –
Đó là sự thật, sạch sẽ không thường xuyên yêu cầu, nhưng nhu cầu phát sinh (tham nhũng/thiếu lớp tập tin và các đối tượng gói, thủ phạm chính đối với tôi) và tất nhiên triển khai đòi hỏi một sạch/biên dịch, có thể ne một rắc rối khi, ooops , bỏ lỡ lỗi đánh máy đó, phải dọn dẹp/biên dịch lại. Điều này thậm chí không bao gồm các phiên bản gia tăng mà một thay đổi mã duy nhất có thể, thay vì biên dịch lại tệp đã thay đổi, xếp thành hàng chục tệp (kiểu tự, mẫu bánh, v.v.), trong ứng dụng nhỏ của tôi quay <1 thứ hai thành> 10 giây, một sự khác biệt rất lớn. – virtualeyes