Почему так труден хороший дизайн UI для некоторых Разработчиков? [закрытый]

Ваш return_new_copy изменяет передаваемый параметр, что, вероятно, нежелательно. Это также переопределяет в неправильном направлении (отдавая приоритет self.attributes)

Я бы написал это следующим образом:

def return_new_copy(self, additional_attributes):
     # python<3.5 if there are only string keys:
     #     attributes = dict(self.attributes, **additional_attributes)
     # python<3.5 if there are non-string keys:
     #     attributes = self.attributes.copy()
     #     attributes.update(additional_attributes)
     # python3.5+
     attributes = {**self.attributes, **additional_attributes}
     return type(self)(attributes)

Несколько тонкостей: - Я обязательно скопировать оба входные атрибуты и атрибуты self - я объединяю дополнительные атрибуты поверх атрибутов self

Если вы ищете что-то, чтобы сделать это автоматически, вы можете проверить namedtuple [115 ]

Например:

>>> C = collections.namedtuple('C', ('a', 'b'))
>>> x = C(1, 2)
>>> x
C(a=1, b=2)
>>> y = x._replace(b=3)
>>> y
C(a=1, b=3)
>>> x
C(a=1, b=2)

206
задан 13 revs, 3 users 100% 6 November 2018 в 15:05
поделиться

64 ответа

Дизайн UI является совершенно другим навыком. Это - одно тесно связанное с изобразительным искусством - способность ценить и создать визуальную симметрию и красоту. И по ЛЮБОЙ причине, обычно кодеры не хороши с изобразительными искусствами. Я знаю, что существуют исключения - но как правило - это содержит.

Поэтому действительно (если Вы не исключение к этому нечетному правилу) - с ним нужно иметь дело с подобным любая другая область, где Вы не естественно талантливы. Необходимо оценить, если можно быть в хороших отношениях достаточно с прерываниями, Вы добрались - или, возможно, даже потратьте немного энергетического улучшения, когда у Вас есть шанс. Однако Вы были бы лучше обслужены, разработав области, где у Вас есть способность и возможно стремящийся работать с людьми, которые сильны в области, где Вы не делаете..

А хорошая книга, касающаяся этой идеи: Теперь, Узнайте Свои Преимущества Marcus Buckingham... это - легкое чтение.

0
ответ дан user13276 23 November 2019 в 04:46
поделиться

Поскольку Это отличающееся набор навыка. Навыки, требуемые быть веб-дизайнером, НЕ ЯВЛЯЮТСЯ тем же как навыками, требуемыми быть программистом. Да немного навыков могли бы наложиться, как HTML, CSS, JavaScript, но по своей природе Программисты не знают ничего из того, что делает веб-дизайн хорошим веб-дизайном, и наоборот.

RWendi

0
ответ дан RWendi 23 November 2019 в 04:46
поделиться

дизайн ui и разработка программного обеспечения работают над двумя различными сторонами мозга. не случается так, что разработчик сосет при разработке и наоборот, ее просто, что они пытаются сделать это с неправильной стороной мозга. никакой серьезный человек не не согласился бы.

0
ответ дан theman_on_vista 23 November 2019 в 04:46
поделиться

Я разработал программу для людей вне моего социального круга и наблюдал за их поведением. Поступая так, я больше не был подвержен предубеждениям моих друзей, своей гордости и эго. Улучшая приложение, я стал более скромным и внимательным к вопросам дизайна. Я узнал, насколько важен дизайн, ориентированный на задачи, и простота. Я понял, чего стоит слишком много функций. С опытом, вы тоже.

Некоторые ссылки, которые я настоятельно рекомендую:

  • joelonsoftware Джефа Раскина «Гуманный интерфейс»
  • Робин Уильям «Руководство по дизайну для не дизайнеров»
  • большинство статей по пользовательскому интерфейсу alistapart
  • блог jwz по программированию
  • рекомендации по человеческому интерфейсу Apple

Некоторые ссылки и философия, которые я настоятельно рекомендую вам игнорировать:

  • «темы»
  • настольные приложения в целом, если вам не нужен драйвер / файловая система доступ
  • к идее «больше - лучше»
0
ответ дан 23 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: