Ở trong dòng chảy

(… hoặc , Tại sao tôi bị ám ảnh bởi lập trình một tệp và bạn cũng nên như vậy)
Lời nói dối lớn mà chúng ta được dạy, ở trường học và một lần nữa trong môi trường mới bắt đầu sự nghiệp, đó là trở nên “giỏi” trong lập trình là giải quyết các vấn đề ngày càng khó hơn theo cách tinh tế hơn. Sự thật trần tục hơn nhiều - giỏi lập trình là giải quyết hiệu quả một tập hợp lớn các vấn đề hầu hết là tầm thường, một cách nhanh chóng và rõ ràng. Tuy nhiên, điều ĐÚNG là “trạng thái dòng chảy” có giá trị như thế nào khi thực hiện việc này. Khả năng tiếp tục đắm chìm trong công việc cho phép bạn nhanh chóng chuyển đổi giữa các miền, theo dõi luồng trạng thái từ người dùng đến logic kinh doanh cho đến kho lưu trữ dữ liệu và ngược lại.
Nhiều phương pháp lập trình “Tốt” làm tăng thêm độ phức tạp:
- Các mô hình và chế độ xem và bộ điều khiển riêng biệt.
- Giữ tất cả các bài kiểm tra của bạn trong các tệp và thư mục song song.
- Không sử dụng CSS nội tuyến — giữ nó trong hệ thống phân cấp gồm các tệp CSS riêng biệt, được tham chiếu theo lớp và ID.
- Thậm chí không VIẾT CSS - sử dụng bộ tiền xử lý và tạo nó từ một số ngôn ngữ trung gian.
- Sử dụng các không gian tên lồng nhau của các gói và mô-đun, mỗi gói có các Quy tắc tiêu chuẩn riêng để đặt tên thin_gs.
Cũng giống như cách mà các thang khảo sát được vẽ dựa trên khả năng phân biệt đối xử của một người bình thường (thường là 5-7 lựa chọn, không bao giờ nhiều hơn 9), các khuôn khổ dựa trên ít tệp hơn, ít loại hơn và được tổ chức theo thứ bậc càng phẳng càng tốt đơn giản hơn đối với các nhà phát triển mới bắt kịp tốc độ và MỌI NGƯỜI dễ dàng duy trì trạng thái trôi chảy hơn khi làm việc.
Các lập trình viên “giỏi” thích chê bai PHP và javascript là ngôn ngữ “xấu”; tuy nhiên cả hai đều đáng chú ý vì hỗ trợ các mẫu "Single-file" đơn giản. Javascript thực hiện điều này thông qua JSX; PHP chỉ đơn giản là cho phép mọi tập lệnh php chứa HTML tùy ý. Tôi đã quyết định tạo lại niềm vui của việc phát triển Tệp đơn, nhưng đối với Python. Điều này hy vọng sẽ thu hẹp khoảng cách rõ ràng giữa cộng đồng khoa học dữ liệu trăn “Notebook”, cộng đồng nhà phát triển phần mềm “Boot Camp” và tuyến đầu của phát triển ứng dụng web.
Trong một số bài đăng trên blog tiếp theo, tôi sẽ nói về nhiều phương pháp “xấu” mà tôi đã áp dụng để đơn giản hóa và hợp lý hóa trải nghiệm phát triển của mình. Tốt hơn nữa, tôi sẽ công bố các thư viện mã nguồn mở khác nhau mà tôi đã khám phá, mở rộng hoặc phát triển trong quá trình thực hiện.