[PYTHON] Tirez parti des idées validées d'autres bibliothèques dans d'autres langues

Lors du développement d'un programme dans un langage qui est un système d'exploitation, vous pouvez avoir l'impression qu'il manque quelque chose. Dans de tels cas, je me réfère à la bibliothèque d'une autre langue.

** Raisons d'imiter d'autres bibliothèques **

** - Je sais déjà ce qui est bénéfique. ** ** Si vous utilisez un langage tel que Python ou Java, vous savez déjà quelles bibliothèques vous sont utiles dans ces langages. Je connais déjà la partie que je souhaite que la bibliothèque de langage C ++ ait une telle chose, et après cela, si la fonction n'est pas dans la bibliothèque de langage C ++ standard, cela conduit au désir de l'implémenter. En plus de STL, regardez la bibliothèque de Boost pour voir si vous devez créer la vôtre. ** - Je sais que la mise en œuvre de cette fonction fonctionnera. ** ** Même si le langage change, l'essence qui peut être obtenue avec le langage informatique ne change pas. La force de l'open source est qu'il a déjà été démontré que la fonctionnalité est faisable et que vous pouvez lire les détails de sa mise en œuvre si nécessaire.

** ・ Ne vous perdez pas dans les spécifications externes. ** ** Il imite une bibliothèque qui a été validée pour son utilité, du moins ne pas se perdre dans les spécifications externes. Si les spécifications externes vous sont familières, vous pouvez réduire le besoin d'apprendre de nouvelles choses pour utiliser la bibliothèque. Exemple: La bibliothèque de matplotlib est similaire aux fonctions de dessin de MATLAB. Si vous avez utilisé les fonctions de dessin MATLAB, vous serez bientôt familiarisé avec l'utilisation de matplotlib. Même si vous n'avez jamais utilisé MATLAB, une bibliothèque conçue pour son utilité sera séduisante. (Opinion personnelle: il est dommage que les graphiques Excel aient de nombreuses restrictions, telles que l'absence de fonction de dessin d'histogramme.)

Le type de bibliothèque à utiliser est très important. Savoir quelles implémentations sont disponibles pour le traitement souhaité dans différentes langues. Il est également efficace d'écouter les voix des personnes qui utilisent d'autres systèmes de traitement et bibliothèques afin de connaître les systèmes de traitement que vous n'utilisez pas normalement.

Les spécifications externes de la bibliothèque incluent une bonne conception et une mauvaise conception en termes de noms de méthode, d'ordre des arguments et de format de données de retour. Par exemple. L'une des raisons pour lesquelles la bibliothèque d'apprentissage automatique de scikit-learn est utile est d'utiliser la même interface quel que soit le type d'algorithme d'apprentissage automatique. Le fait est que c'est possible.

estimator.fit(X_train, y_train) y_test_predict[name] = estimator.predict(X_test)

Si cela est différent pour chaque méthode, le nom de la méthode, le format des données des arguments, l'ordre des arguments et le format de la valeur de retour, scikit-learn Ne devrait pas gagner autant d’utilité.

Lorsque vous créez une nouvelle bibliothèque, utilisez les idées qui ont déjà été vérifiées et conçues.

URL de référence Exemple de code adapté () et prédire () pour plusieurs modèles avec scikit-learn [Face completion with a multi-output estimators] (http://scikit-learn.org/stable/auto_examples/plot_multioutput_face_completion.html)

Recommended Posts

Tirez parti des idées validées d'autres bibliothèques dans d'autres langues
EP 13 Profitez de chaque bloc dans try / except / else / finally
Impressions de personnes ayant de l'expérience dans d'autres langues apprenant Python à l'aide de PyQ
Tendances des langages de programmation du point de vue de GitHub (mises à jour semestrielles)