Tengo un caso de uso específico, y he encontrado 3 formas de hacerlo a través de Internet, que se definen para casos de uso vagos. Estoy mirando a estos tres preguntándome cuál aplicar.
Tiendo a sentarme allí sin saber qué hacer, luego sin hacer nada ... ¿Hay una buena manera de elegir? ¿Debería probarlos todos?
Para ser más específico para algún contexto, estoy tratando de hacer un juego de mesa muy liviano donde necesito una parte de la pantalla en la que pueda rotar la cuadrícula del juego de mesa, acercarla y mover piezas en esta cuadrícula . No tenía idea de cómo hacer esto, pero encontré cosas en línea como Core Animation, Core Graphics, Sprite Kit, y vi argumentos a favor y en contra de ellos; por ejemplo, el kit Sprite es de alto nivel, pero mantiene la velocidad de cuadros en 60, que es un desperdicio de batería cuando nada se mueve realmente en la pantalla. Core Animation era una API de nivel inferior, que se opone a la orientación de Apple de "tomar el nivel más alto de abstracción". No quiero aprender 3 cosas para usar 1. ¿Hay alguna manera de elegir y deshacerme?
Dejo esto como una pregunta bastante vaga a propósito, ya que creo que se aplica en todo el área del software.
fuente
Como una adición a la excelente respuesta de Robert Harvey, aquí mis 2 centavos:
Elija el enfoque que parece ser el menor esfuerzo para comenzar, pero asegúrese de mantener la puerta abierta para cambiar a un enfoque diferente cuando resulte que la solución que eligió primero tiene demasiados problemas. Y si sospecha que hay ciertos problemas en ciertas áreas de su escenario de uso, asegúrese de implementar esas áreas primero, de modo que obtenga comentarios anticipados, antes de que sea demasiado tarde para revertir su decisión inicial.
Lo bien que esto funcione depende en gran medida del caso. Por ejemplo, si necesita una biblioteca simple para acceder a un dispositivo externo o cierto formato de archivo, asegúrese de encapsular todo el acceso a la biblioteca en una capa de su aplicación. Sin embargo, en caso de que no esté seguro sobre qué marco elegir o qué lenguaje de programación elegir, un análisis exhaustivo de costo / beneficio es probablemente todo lo que puede hacer.
A veces es mejor simplemente tomar una decisión, incluso si es solo la segunda mejor opción, siempre y cuando realmente lo haga.
fuente