В качестве фона я собираюсь стать старшим в Comp E и в настоящее время работаю над проектом для моей стажировки, включающей разработку iPad для Monotouch и C #. Будучи студентом с несколькими проектами одновременно в течение семестра, стиль кода часто полностью игнорируется, чтобы заставить работать конечный продукт. Я уверен, что вы все знаете, на что это похоже.
Теперь, когда у меня гораздо больше времени на разработку, планирование и дизайн своего кода, я застрял между «быстрым и простым способом» или «сложным сложным способом». Я обрисую в общих чертах мой дизайн (который, вероятно, ужасен для начала) и приветствую все предложения.
Я создаю простое приложение для iPad, в котором пользователь может выбрать марку автомобиля, а затем этот выбор заполняет изображения на другой стороне экрана различными моделями. Теперь, когда пользователь выбирает эту модель, он выводит их на другой экран, где я запрашиваю дополнительную информацию, такую как цена, год и т. Д. И т. Д. На втором экране у меня есть изображение выбранной модели автомобиля в качестве «напоминания» о том, что вы ищете снова, как изменились экраны. Заполнение этого изображения теперь зависит от того, какая марка была выбрана и какая модель. Все это делается на основе двумерного массива информации. Так что Cars [0] [3] будет моделью Acura-TSX, Cars [1] [0] - BMW 1 Series.
Теперь, пытаясь избавиться от мысли колледжа о том, чтобы бросить все в одну гигантскую ОСНОВНУЮ, я знаю, что это не красиво, но это работает, и колледж - это вопросы, а не стиль, я начал разбивать вещи на функции и вспомогательные функции. Когда я вызываю функцию, которая переключает экраны и, в конечном итоге, загружает изображение, я должен передать ему makeIndex и modelIndex, которые устанавливаются после того, как make и модели были выбраны ранее, поэтому существует множество вызовов / возвратов и передачи переменных. На мой взгляд, простой и легкий способ решить эту проблему - 2 глобальные переменные, но я знаю, что это плохая практика, и я пытаюсь разработать лучший стиль кодирования.
Что вы предлагаете, как это сделать? Было бы лучше просто сказать «винт хорошей практики» и идти с тем, что работает быстро? или я должен уделить время и отработать передачу обратно для нескольких функций, так как многие из них требуют знания этой информации?
Спасибо, что нашли время, чтобы прочитать это, и спасибо за ваши предложения.
- Адам